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