ArrayListProcessing.java
1    package arraylists;
2    
3    import java.util.ArrayList;
4    import java.util.List;
5    public class ArrayListProcessing {
6    
7    
8        public static void main(String[] args) {
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("Kong, Donkey");
17           names.add("Brando, Dio");
18   
19   
20           //POINT B: Create an ArrayList of just the first names of the names
21           //ArrayList. Use a for loop to print out the names, separated by spaces
22           List<String> firstNamesList = firstNames(names);
23           System.out.print("First names: ");
24           for (String firstName : firstNamesList){
25               System.out.print(firstName + " ");
26           }
27           System.out.println();
28   
29   
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 separated by a comma.
34           String firstNames = String.join(", ", firstNamesList);
35           System.out.println("First names: " + firstNames);
36           //POINT D: By analogy from points B and C, print a comma-separated
37           // list of the last names in the names ArrayList.
38           List<String> lastNamesList = lastNames(names);
39           System.out.print("Last names: ");
40           for (String lastName : lastNamesList){
41               System.out.print(lastName + " ");
42           }
43           System.out.println();
44           String lastNames = String.join(", ", lastNamesList);
45           System.out.println("Last names: " + lastNames);
46           // POINT E: Print a comma-separated list of all uppercase first names
47           // from the list of names in the names ArrayList.
48           List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names));
49           String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
50           System.out.println("Uppercase first names: " + upperCaseFirstNames);
51   
52           // POINT F: Print a comma-separated list of all hyphenated last names
53           // from the list of names in the names ArrayList.
54           List<String> hyphenatedNamesList = hyphenatedNames(lastNames(names));
55           String hyphenatedLastNames = String.join(", ", hyphenatedNamesList);
56           System.out.println("Hyphenated last names: " + hyphenatedLastNames);
57   
58           //POINT G: Print the integer value of the total length of all names
59           //in the names ArrayList
60           int totalLength = totalNameLength(names);
61           System.out.println("Total length: " + totalLength);
62   
63           // POINT H: Print the integer value of the total length of all
64           // first names in the names ArrayList.
65           int totalFirstNameLength = totalFirstLength(firstNamesList);
66           System.out.println("First name total length: " + totalFirstNameLength);
67           // POINT I: Print the integer value of the product of the length of
68           // all first names in the names ArrayList.
69   
70           int productFirstName = productFirstNameLength(firstNamesList);
71           System.out.println("First Name Products: " + productFirstName);
72   
73   
74       }
75   
76       public static int totalNameLength(List<String> names){
77           int totalLength = 0;
78           for (String name : names){
79               totalLength = totalLength + name.length();
80           }
81           return totalLength;
82       }
83       public static int totalFirstLength(List<String> firstNames){
84           int totalFirstNameLength = 0;
85           for (String firstName : firstNames){
86               totalFirstNameLength = totalFirstNameLength + firstName.length();
87           }
88           return totalFirstNameLength;
89       }
90       public static int productFirstNameLength(List<String> firstNames) {
91           int productFirstName = 0;
92           for (String firstName : firstNames ){
93               productFirstName = productFirstName * firstName.length();
94           }
95           return productFirstName;
96       }
97   
98       private static String firstName (String directoryStyleName) {
99           return directoryStyleName.substring((directoryStyleName.indexOf(",") + 1));
100      }
101      private static List<String> firstNames(List<String> names){
102          List<String> firsts = new ArrayList<>();
103          for (String name : names){firsts.add(firstName(name));
104          }
105          return firsts;
106      }
107      public static List<String> upperCaseNames(List<String> names){
108          List<String> uppercases = new ArrayList<>();
109          for (String name : names){
110              uppercases.add(name.toUpperCase());
111          }
112          return uppercases;
113      }
114      private static String lastName(String directoryStyleName ) {
115          return directoryStyleName.substring(0, directoryStyleName.indexOf(",") );
116      }
117      private static List<String> lastNames(List<String> names){
118          List<String> lasts = new ArrayList<>();
119          for (String name : names){
120              lasts.add(lastName(name));
121          }
122          return lasts;
123      }
124      public static List<String> hyphenatedNames(List<String> names){
125          List<String> hyphenateds = new ArrayList<>();
126          for (String name : names){
127              if (name.contains("-")) {hyphenateds.add(name);
128              }}return hyphenateds; }
129  }