ArrayListsProcessing.java
1    
2    package arraylistplay;
3    
4            import java.util.ArrayList;
5            import java.util.List;
6    
7    public class ArrayListsProcessing {
8    
9        public static void main(String[] args) {
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("Sahalie, Sullivan");
18           names.add("Edward, Sheldon");
19   
20   
21           // POINT B: Create an ArrayList of just the first names of the names
22           //          ArrayList. Use a for loop to print out the names, separated by spaces.
23           //
24           List<String> firstNamesList = firstNames(names);
25           System.out.print("First names:");
26           for (String firstNames : firstNamesList) {
27               System.out.print(firstNames + " ");
28           }
29           System.out.println();
30   
31   
32           // POINT C Use String's join function to create and print a String of
33           //          just the first names of the names ArrayList with each name
34           //          separated by a comma.
35   
36           String firstNames = String.join(",", firstNamesList);
37           System.out.println("First names:" + firstNames);
38   
39   
40           // POINT D: By analogy from points B and C, print a comma-separated list of
41           //          the last names in the ArrayList.
42           //
43   
44           List<String> lastNamesList = lastNames(names);
45           System.out.println("Last names:");
46           for (String lastName : lastNamesList) {
47               System.out.print(lastName + " ");
48           }
49           System.out.println();
50           String lastNames = String.join(",", lastNamesList);
51           System.out.println("Last names: " + lastNames);
52   
53   
54           // POINT E: Print a comma-separated list of all uppercase first names from
55           //          the list of names in the ArrayList
56   
57           List<String> upperCaseFirstNamesList = upperCaseName(firstNamesList);
58           String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
59           System.out.println("UpperCaseFirstNames: " + upperCaseFirstNames);
60   
61           // POINT F: Print a comma-separated list of all hyphenated last names from
62           //          the list of names in the name ArrayList.
63   
64           List<String> hyphenatedNamesList = hyphenatedNames(lastNamesList);
65           String hyphenatedNames = String.join(", ", hyphenatedNamesList);
66           System.out.println("Hyphenated names: " + hyphenatedNames);
67   
68   
69           // POINT G: Print the integer value of the total length of all names in the
70           //          names ArrayList.
71           //
72           int totalLength = totalNameLength(names);
73           System.out.println("Total Length: " + totalLength);
74   
75           // POINT H: Print the integer value of the total length of all first names in
76           //          the names ArrayList.
77           //
78           int totalLengthOfFirstName = totalNameLength(firstNamesList);
79           System.out.println("Total Length of first names : " + totalLengthOfFirstName);
80   
81           // POINT I: Print the integer value of the product of the length of all first
82           //          names in the names ArrayList.
83           //
84           int totalProductNameLength = productNameLength(firstNamesList);
85           System.out.println("Total product of first names length : " + totalProductNameLength);
86       }
87   
88   
89       private static int productNameLength(List<String> names) {
90           int totalProductLength = 1;
91           for (String name : names){
92               totalProductLength = totalProductLength * name.length();
93           }
94           return totalProductLength;
95       }
96   
97       private static List<String> upperCaseName(List<String> names) {
98           List<String> upperCase = new ArrayList<>();
99           for (String name : names) {
100              upperCase.add(name.toUpperCase());
101          }
102          return upperCase;
103      }
104      private static String firstName(String directoryStyleName) {
105          int firstNameComma = directoryStyleName.indexOf(",");
106          String firstName = directoryStyleName.substring(firstNameComma+2);
107          return firstName;
108      }
109      private static String lastName(String directoryStyleName) {
110          int lastNameComma = directoryStyleName.indexOf(",");
111          String lastName = directoryStyleName.substring(0,lastNameComma);
112          return lastName;
113      }
114      private static List<String> firstNames(List<String> names) {
115          List<String> firsts = new ArrayList<>();
116          for (String name : names) {
117              firsts.add(firstName(name));
118          }
119          return firsts;
120      }
121      private static List<String> lastNames(List<String> names) {
122          List<String> lasts = new ArrayList<>();
123          for (String name : names) {
124              lasts.add(lastName(name));
125          }
126          return lasts;
127      }
128  
129      public static List<String> hyphenatedNames(List<String> names){
130          List<String> hyphenateds = new ArrayList<>();
131          for (String name : names){
132              if (name.contains("-")){
133                  hyphenateds.add(name);
134              }
135          }
136          return hyphenateds;
137      }
138      public static int totalNameLength(List<String> names){
139          int totalLength = 0;
140          for (String name : names){
141  
142              totalLength = totalLength + name.length();
143          }
144  
145          return totalLength;
146      }
147  
148  }