ArrayListProcessing.java
1    package arraylistplay;
2    
3    import java.util.*;
4    
5    public class ArrayListProcessing {
6        public static void main (String[] args){
7            List<String> names = new ArrayList<>();
8            names.add("Holiday, Billie");
9            names.add("Claudel, Camille");
10           names.add("Picasso, Pablo");
11           names.add("Gallen-Kallela, Askeli");
12           names.add("Zotto, Osvaldo");
13           names.add("Weber, Ellen");
14   
15           //Point B
16           List<String> firstNamesList = firstNames(names);
17   
18           System.out.println("First Names: ");
19           for(String firstName : firstNamesList){
20               System.out.println(firstName + " ");
21           }
22           System.out.println();
23   
24           //POINT C
25           String firstNames = String.join(",", firstNamesList);
26           System.out.println("First Names: " + firstNamesList);
27           System.out.println();
28   
29           //point D
30           List<String> LastNamesList = LastNames(names);
31   
32           System.out.println("Last Names: ");
33           for(String LastName : LastNamesList){
34               System.out.println(LastName + " ");
35           }
36           System.out.println();
37   
38           //point E
39           List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names));
40           String upperCaseFirstNames = String.join(",", upperCaseFirstNamesList);
41           System.out.println("uppercase first names: " + upperCaseFirstNames);
42   
43           //point F
44           List<String> hyphenatedLastNamesList = hyphenatedNames(LastNames(names));
45           String hyphenatedLastNames = String.join(",", hyphenatedLastNamesList);
46           System.out.println("hyphenated last names: " + hyphenatedLastNames);
47   
48           //point G
49           int totalLength = totalNameLength(names);
50           System.out.println("Total length: " + totalLength);
51   
52           //point H
53   
54           for (String name : names){
55   //            int fName = names.indexOf(",");
56   //            String f = name.substring(fName);
57               String fName = firstName(name);
58               int firstLength = fName.length();
59               System.out.println(firstLength);
60           }
61           //point I
62           for (String name: names) {
63               String lName = LastName(name);
64               int lastLength = lName.length();
65               System.out.println(lastLength);
66           }
67       }
68   
69       private static String firstName(String directoryStyleName) {
70           int first = directoryStyleName.indexOf(",");
71           String f  = directoryStyleName.substring(first + 2);
72           return f;
73       }
74   
75       private static List<String> firstNames(List<String> names){
76           List<String> firsts = new ArrayList<>();
77           for (String name : names){
78               firsts.add(firstName(name));
79           }
80           return firsts;
81       }
82   
83       private static String LastName(String directoryStyleName) {
84           int last = directoryStyleName.indexOf(",");
85           String l  = directoryStyleName.substring(0, last);
86           return l;
87       }
88   
89       private static List<String> LastNames(List<String> names){
90           List<String> lasts = new ArrayList<>();
91           for (String name : names){
92               lasts.add(LastName(name));
93           }
94           return lasts;
95       }
96   
97       public static List<String> upperCaseNames(List<String> names){
98           List<String> uppercases = new ArrayList<>();
99           for (String name : names){
100              uppercases.add(name.toUpperCase());
101          }
102          return uppercases;
103      }
104  
105      public static List<String> hyphenatedNames(List<String> names){
106          List<String> hyphenateds = new ArrayList<>();
107          for (String name : names){
108              if (name.contains("-")){
109                  hyphenateds.add(name);
110              }
111          }
112          return hyphenateds;
113      }
114  
115      public static int totalNameLength(List<String> names){
116          int totalLength = 0;
117          for (String name : names){
118              totalLength = totalLength + name.length();
119          }
120          return totalLength;
121      }
122  
123  }
124