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