ArrayListProcessing.java
1    package arraylists;
2    
3    import java.util.ArrayList;
4    import java.util.List;
5    
6    public class ArrayListProcessing {
7    
8        private static String firstName(String directoryStyleName) {
9    
10           int firstName = directoryStyleName.length();
11           int index = 0;
12           index = directoryStyleName.indexOf(" ");
13           directoryStyleName = directoryStyleName.substring(index+1,firstName);
14           return directoryStyleName;
15   
16       }
17   
18       private static List<String> firstNames(List<String> names){
19   
20           List<String> firsts = new ArrayList<>();
21           for (String name : names){
22               firsts.add(firstName(name));
23           }
24   
25           return firsts;
26       }
27   
28       private static String lastName(String directoryStyleName) {
29           int lastName = directoryStyleName.length();
30           int index = 0;
31           index = directoryStyleName.indexOf(",");
32           directoryStyleName = directoryStyleName.substring(0,index);
33           return directoryStyleName;
34       }
35   
36       private static List<String> lastNames(List<String> names){
37   
38           List<String> lasts = new ArrayList<>();
39           for (String name : names){
40               lasts.add(lastName(name));
41           }
42   
43           return lasts;
44       }
45   
46       public static List<String> upperCaseNames(List<String> names){
47   
48           List<String> uppercases = new ArrayList<>();
49           for (String name : names){
50               uppercases.add(name.toUpperCase());
51           }
52   
53           return uppercases;
54   
55       }
56   
57       public static List<String> hyphenatedNames(List<String> names){
58           List<String> hyphenateds = new ArrayList<>();
59           for (String name : names){
60               if (name.contains("-")) {
61                   hyphenateds.add(name);
62               }
63           }
64   
65           return hyphenateds;
66   
67       }
68   
69       public static int totalNameLength(List<String> names){
70           int totalLength = 0;
71           for (String name : names){
72               totalLength = totalLength + name.length();
73           }
74           return totalLength;
75       }
76   
77       public static int nameLengthProduct(List<String> names){
78           int lengthProduct = 1;
79           for (String name : names){
80               lengthProduct= name.length();
81           }
82           return lengthProduct;
83       }
84   
85       public static void main(String[] args){
86   
87           //POINT A
88   
89           List<String> names = new ArrayList<>();
90           names.add("Holiday, Billie");
91           names.add("Claudel, Camille");
92           names.add("Picasso, Pablo");
93           names.add("Gallen-Kallela, Akseli");
94           names.add("Zotto, Osvaldo");
95           names.add("Took-Baggins, Belladonna");
96           names.add("Grey, Gandalf");
97   
98           //POINT B
99   
100          List<String> firstNamesList = firstNames(names);
101  
102          System.out.print("First names: ");
103          for (String firstName : firstNamesList){
104              System.out.print(firstName + " ");
105          }
106          System.out.println();
107  
108          //POINT C
109  
110          String firstNames = String.join(", ", firstNamesList);
111  
112          System.out.println("First names: " + firstNames);
113  
114          //POINT D
115  
116          List<String> lastNamesList = lastNames(names);
117  
118          System.out.print("Last names: ");
119          for (String lastName : lastNamesList){
120              System.out.print(lastName + " ");
121          }
122          System.out.println();
123  
124          String lastNames = String.join(", ", lastNamesList);
125  
126          System.out.println("Last names: " + lastNames);
127  
128          //POINT E
129  
130          List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names));
131          String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
132  
133          System.out.println("Uppercase first names: " + upperCaseFirstNames);
134  
135          //POINT F
136  
137          List<String> hyphenatedNamesList = hyphenatedNames(lastNames(names));
138          String hyphenatedLastNames = String.join(", ", hyphenatedNamesList);
139  
140          System.out.println("Hyphenated last names: " + hyphenatedLastNames);
141  
142  
143          //POINT G
144  
145          int totalLength = totalNameLength(names);
146  
147          System.out.println("Total length: " + totalLength);
148  
149          //POINT H
150  
151          int totalFirstNameLength = totalNameLength(firstNames(names));
152  
153          System.out.println("Total length: " + totalFirstNameLength);
154  
155          //POINT I
156  
157          int lengthProduct = nameLengthProduct(names);
158  
159          System.out.println("Product of lengths: " + lengthProduct);
160  
161      }
162  
163  }
164