ArrayListProcessing.java
1    package arraylists;
2    
3    import java.util.ArrayList;
4    import java.util.List;
5    
6    public class ArrayListProcessing {
7        public static void main(String[] args) {
8    
9            // POINT A: Add some strings which represent names to an ArrayList
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("Hurts, Jalen");
17           names.add("Burrow, Joe");
18           names.add("Allen, Josh");
19           // POINT B: ArrayList containing the first names of the names contained with the 'names' ArrayList
20           List<String> firstNamesList = firstNames(names);
21           for (String firstName : firstNamesList) {
22               System.out.print(firstName + " ");
23           }
24           System.out.println();
25           // POINT C: Print a string of just the first names of the 'names' ArrayList, each seperated with a comma
26           String firstNames = String.join(", ", firstNamesList);
27           System.out.println("First names: " + firstNames);
28           // POINT D: print a comma-separated list of all last names in the 'names' ArrayList
29           List<String> lastNamesList = lastNames(names);
30           for (String lastName : lastNamesList) {
31               System.out.print(lastName + " ");
32           }
33           System.out.println();
34           String lastNames = String.join(", ", lastNamesList);
35           System.out.println("Last names: " + lastNames);
36            // POINT E: Print a comma-separated list of all uppercase first names from the 'names' ArrayList
37           List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names));
38           String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
39           System.out.println("Uppercase first names: " + upperCaseFirstNames);
40            // POINT F: Print a comma-separate list of all hyphenated last names from the 'names' ArrayList
41           List<String> hyphenatedLastNamesList = hyphenatedNames(lastNames(names));
42           String hyphenatedLastNames = String.join(", ", hyphenatedLastNamesList);
43           System.out.println("Hyphenated last names: " + hyphenatedLastNames);
44            // POINT G: Print the integer value of the total length of all names in the 'names' ArrayList
45           int totalLength = totalNameLength(names);
46           System.out.println("Total length: " + totalLength);
47            // POINT H: Print the integer value of the total length of all first names in the 'names' ArrayList
48           int totalFirstsLength = totalNameLength(firstNamesList);
49           System.out.println("Total length of first names: " + totalFirstsLength);
50           
51            // POINT I: Print the integer value of the product of the length of all the first names in the 'names' ArrayList
52           int productFirstNamesLength = multiplyFirstNamesLength(firstNamesList);
53           System.out.println("Product of the length of all first names: " + productFirstNamesLength);
54       }
55       public static int multiplyFirstNamesLength(List<String> names) {
56           int product = 1;
57           for (String name : names) {
58               product = product * name.length();
59           }
60           return product;
61       }
62       public static int totalNameLength(List<String> names) {
63           int totalLength = 0;
64           for (String name : names) {
65               totalLength = totalLength + name.length();
66           }
67           return totalLength;
68       }
69       public static List<String> hyphenatedNames(List<String> names) {
70           List<String> hyphenateds = new ArrayList<>();
71           for (String name : names) {
72               if (name.contains("-")) {
73                   hyphenateds.add(name);
74               }
75           }
76           return hyphenateds;
77       }
78       public static List<String> upperCaseNames(List<String> names) {
79           List<String> uppercases = new ArrayList<>();
80           for (String name : names) {
81               uppercases.add(name.toUpperCase());
82           }
83           return uppercases;
84       }
85       private static List<String> firstNames(List<String> names) {
86           List<String> firsts = new ArrayList<>();
87           for (String name : names) {
88               firsts.add(firstName(name));
89           }
90           return firsts;
91       }
92       private static List<String> lastNames(List<String> names) {
93           List<String> lasts = new ArrayList<>();
94           for (String name : names) {
95               lasts.add(lastName(name));
96           }
97           return lasts;
98       }
99       private static String firstName(String directoryStyleName) {
100          int commaposition = directoryStyleName.indexOf(" ");
101          String first = directoryStyleName.substring(commaposition + 2);
102          return first;
103      }
104      private static String lastName(String directoryStyleName) {
105          int commaPosition = directoryStyleName.indexOf(",");
106          String last = directoryStyleName.substring(0, commaPosition);
107          return last;
108      }
109  }
110  
111  
112  
113  
114