ArraylistProcessing.java
1    
2    
3    
4    package arraylists;
5    
6    import java.util.ArrayList;
7    import java.util.List;
8    
9    public class ArraylistProcessing {
10       public static void main(String[] arg) {
11   
12           //point A:
13           List<String> names = new ArrayList<>();
14           names.add("Holiday, Billie");
15           names.add("Claudel, Camille");
16           names.add("Picasso, Pablo");
17           names.add("Gallen-kallela, Akseli");
18           names.add("Zotto, Osvaldo");
19   
20   
21           //Point B:
22           System.out.println("First name ...");
23           for (String name : names) {
24               System.out.println(firstName(name));
25           }
26           System.out.println();
27   
28           //Point C:
29           String firstNames = String.join(", ", firstNamesList(names));
30           System.out.println("First names: " + firstNames);
31           System.out.println();
32   
33           //Point D :
34           System.out.println("last name ...");
35           for (String name : names) {
36               System.out.println(lastName(name));
37           }
38           System.out.println();
39   
40           String lastNames = String.join(", ", lastNamesList(names));
41           System.out.println("Last names: " + lastNames);
42   
43           // Point E:
44           List<String> upperCaseFirstNamesList = upperCaseNames(firstNamesList(names));
45           String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
46           System.out.println("Uppercase first names: " + upperCaseFirstNames);
47   
48           //Point F:
49           List<String> hyphenatedNamesList = hyphenatedNames(lastNamesList(names));
50           String hyphenatedNames = String.join(", ", hyphenatedNamesList);
51           System.out.println("hyphenateds names: " + hyphenatedNames);
52   
53           // Point G:
54           int totalLength = totalNameLength(names);
55           System.out.println("Total length: " + totalLength);
56   
57           // Point H:
58           int totalfirstLength = totalfirstNameLength(names);
59           System.out.println("Total first name length: " + totalfirstLength);
60   
61           //Point I:
62           double productoflength = productNamesLength(names);
63           System.out.println(("product of length " + productoflength));
64   
65       }
66   
67       private static List<String> firstNamesList(List<String> names) {
68           List<String> first = new ArrayList<>();
69           for (String name : names) {
70               first.add(firstName(name));
71           }
72           return first;
73       }
74   
75       private static List<String> lastNamesList(List<String> names) {
76           List<String> last = new ArrayList<>();
77           for (String name : names) {
78               last.add(lastName(name));
79           }
80           return last;
81       }
82   
83       private static String firstName(String directoryStyleName) {
84           int commaPosition = directoryStyleName.indexOf(",");
85           return directoryStyleName.substring(commaPosition + 2);
86       }
87   
88       private static String lastName(String directoryStyleName) {
89           int commaPosition = directoryStyleName.indexOf(",");
90           return directoryStyleName.substring(0, commaPosition);
91       }
92   
93       public static List<String> upperCaseNames(List<String> names) {
94           List<String> uppercases = new ArrayList<>();
95           for (String name : names) {
96               uppercases.add(name.toUpperCase());
97           }
98           return uppercases;
99       }
100  
101      public static List<String> hyphenatedNames(List<String> names) {
102          List<String> hyphenateds = new ArrayList<>();
103          for (String name : names) {
104              if (name.contains("-")) {
105                  hyphenateds.add(name);
106              }
107          }
108          return hyphenateds;
109      }
110  
111      public static int totalNameLength(List<String> names) {
112          int totalLength = 0;
113          for (String name : names) {
114              totalLength = totalLength + name.length();
115          }
116          return totalLength;
117      }
118  
119      public static int totalfirstNameLength(List<String> names) {
120          int totalfirstLength = 0;
121          for (String name : names) {
122              totalfirstLength = totalfirstLength + firstName(name).length();
123          }
124          return totalfirstLength;
125      }
126  
127      public static double productNamesLength(List<String> names) {
128          double productoflength = 1;
129          for (String name : names) {
130              productoflength = productoflength * name.length();
131          }
132          return productoflength;
133      }
134  }
135  
136