ArrayListProcessing.java
1    package arraylistplay;
2    
3    import java.util.ArrayList;
4    import java.util.List;
5    
6    public class ArrayListProcessing {
7        public static void main(String[] args) {
8            List<String> names = new ArrayList<>();
9            names.add("Holiday, Billie");
10           names.add("Claudel, Camille");
11           names.add("Picasso, Pablo");
12           names.add("Gallen-Kallela, Akseli");
13           names.add("Zotto, Osvaldo");
14           names.add("Ibanez, Diego");
15           names.add("Bonilla, Walter");
16           names.add("Gayguy, Christopher");
17           List<String> firstNamesList = firstNames(names);
18           System.out.print("First names: ");
19           for (String firstName : firstNamesList) {
20               System.out.print(firstName + " ");
21           }
22           System.out.println();
23           String firstNames = String.join(", ", firstNamesList);
24           System.out.println("First names: " + firstNames);
25           List<String> lastNamesList = lastNames(names);
26           String lastNames = String.join(", ", lastNamesList);
27           System.out.println("Last names: " + lastNames);
28           List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names));
29           String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
30           System.out.println("Uppercase first names: " + upperCaseFirstNames);
31           List<String> hyphenatedLastNamesList = hyphenatedNames(names);
32           String hyphenatedLasts = String.join(", ", hyphenatedLastNamesList);
33           System.out.println("Hyphenated last names: " + hyphenatedLasts);
34           int totalLength = totalNameLength(names);
35           System.out.println("Total length: " + totalLength);
36           int totalFirstsLength = totalNameLength(firstNames(names));
37           System.out.println("Total first names length: " + totalFirstsLength);
38           int namesProduct = namesProduct(names);
39           System.out.println("Names product: " + namesProduct);
40       }
41       private static List<String> firstNames(List<String> names) {
42           List<String> firsts = new ArrayList<>();
43           for (String name : names) {
44               firsts.add(firstName(name));
45           }
46           return firsts;
47       }
48       private static List<String> lastNames(List<String> names) {
49           List<String> lasts = new ArrayList<>();
50           for (String name : names) {
51               lasts.add(lastName(name));
52           }
53           return lasts;
54       }
55       private static List<String> upperCaseNames(List<String> names) {
56           List<String> uppercases = new ArrayList<>();
57           for (String name : names) {
58               uppercases.add(name.toUpperCase());
59           }
60           return uppercases;
61       }
62       public static List<String> hyphenatedNames(List<String> names) {
63           List<String> hyphenateds = new ArrayList<>();
64           for (String name : names) {
65               if (name.contains("-")) {
66                   hyphenateds.add(name);
67               }
68           }
69           return hyphenateds;
70       }
71       public static int totalNameLength(List<String> names) {
72           int totalLength = 0;
73           for (String name : names) {
74               totalLength = totalLength + name.length();
75           }
76           return totalLength;
77       }
78       public static int namesProduct(List<String> names) {
79           int namesprod = 1;
80           for (String name : names) {
81               namesprod = namesprod * name.length();
82           }
83           return namesprod;
84       }
85       private static String firstName(String directoryStyleName) {
86           int cp = directoryStyleName.indexOf(", ");
87           int last = directoryStyleName.length();
88           String first = directoryStyleName.substring(cp + 2, last);
89           return first;
90       }
91       private static String lastName(String directoryStyleName) {
92           int cp = directoryStyleName.indexOf(", ");
93           String last = directoryStyleName.substring(0, cp);
94           return last;
95       }
96   }
97