ArrayListProcesing.java
1    package arraylist;
2    
3    import java.util.ArrayList;
4    import java.util.List;
5    
6    public class ArrayListProcesing {
7    
8        public static void main(String[] args) {
9    
10           //POINT A: Add some strings which represent names to an ArrayList
11           List<String> names = new ArrayList<>();
12           names.add("Holiday, Billie");
13           names.add("Claudel, Camille");
14           names.add("Picasso, Pablo");
15           names.add("Gallen-Kallela, Akseli");
16           names.add("Zotto, Osvaldo");
17           names.add("Maldonado, Gregory");
18           names.add("Smith, Katherine");
19   
20           //POINT B: Creates an ArrayList of just the first names of the names ArrayList
21           //         Use a for loop to print out the names, separated by spaces
22   
23           List<String> firstNamesList = firstNames(names);
24   
25           System.out.println("First names: ");
26           for (String firstName : firstNamesList) {
27               System.out.println(firstName + " ");
28           }
29           System.out.println();
30   
31           //POINT C: Use String's join function to create and print a String of just the
32           //         first names of the names ArrayList with each name separated by a comma
33   
34           String firstNames = String.join(", ", firstNamesList);
35   
36           System.out.println("First names: " + firstNames);
37   
38           //POINT D: By analogy from points B and C, print a comma-separated list
39           //         of the last names in the names ArrayList
40   
41           List<String> lastNamesList = firstNames(names);
42   
43           System.out.println("Last names: ");
44           for (String lastName : lastNamesList) {
45               System.out.println(lastName + " ");
46           }
47           System.out.println();
48   
49           String lastNames = String.join(", ", lastNamesList);
50   
51           //POINT E: Print a comma-separated list of all uppercase first names from
52           //         the list of names in the names ArrayList
53   
54           List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names));
55           String upperCaseFirstnames = String.join(", ", upperCaseFirstNamesList);
56   
57           System.out.println("Uppercase first names: " + upperCaseFirstnames);
58   
59           //POINT F: Print a comma-separated list of all hyphenated ast names from
60           //         the list of names in the names ArrayList
61   
62           List<String> hyphenatednamesList = hyphenatedNames(names);
63           String hyphenatedNames = String.join("," , hyphenatednamesList);
64   
65           System.out.println("Hyphenated names: " + hyphenatedNames);
66   
67           //POINT G: Print the integer value of the total length of all names in the names ArrayList
68   
69           int totalLength = totalNameLength(names);
70   
71           System.out.println("Total length: " + totalLength);
72   
73           //POINT H: Prints the integer values of the total length of all first names in the names ArrayList
74   
75           int totalFirstNameLength = totalNameLength(firstNamesList);
76   
77           System.out.println("Total first name length: " + totalFirstNameLength);
78   
79           //POINT I: Print the integer value of the product of the length of all first names in the names ArrayList
80   
81           int productOfNames = 1;
82   
83           for (String name : names) {
84               productOfNames = productOfNames * name.length();
85           }
86   
87           System.out.println("Product of Names: " + productOfNames);
88   
89       }
90   
91       private static List<String> firstNames(List<String> names) {
92           List<String> firsts = new ArrayList<>();
93           for (String name : names) {
94               firsts.add(firstName((name)));
95           }
96           return firsts;
97       }
98   
99       private static String firstName(String directoryStyleName) {
100  
101          int index = directoryStyleName.indexOf(",");
102          String firstName = directoryStyleName.substring(index + 2);
103  
104          return firstName;
105      }
106  
107      private static String lastName(String directoryStyleName) {
108  
109          int index = directoryStyleName.indexOf(",");
110          String lastName = directoryStyleName.substring(0, index);
111  
112          return lastName;
113      }
114  
115      private static List<String> upperCaseNames(List<String> names) {
116          List<String> uppercases = new ArrayList<>();
117          for (String name : names ) {
118              uppercases.add(name.toUpperCase());
119          }
120          return uppercases;
121      }
122  
123      private static List<String> hyphenatedNames(List<String> names) {
124          List<String> hyphenateds = new ArrayList<>();
125          for (String name : names) {
126              if (name.contains("-")) {
127                  hyphenateds.add(name);
128              }
129          }
130              return hyphenateds;
131      }
132  
133      private static int totalNameLength(List<String> names) {
134          int totalLength = 0;
135          for (String name : names) {
136              totalLength = totalLength + name.length();
137          }
138          return totalLength;
139      }
140  
141  
142  }
143