1 package arraylist; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class ArrayListProcessing { 7 8 public static void main(String[] args) { 9 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("Mitchell, Raven"); 17 names.add("Barnett, Jacob"); 18 names.add("Schlegel, Daniel"); 19 20 List<String> firstNamesList = firstNames(names); 21 System.out.println("First Names: "); 22 for (String firstNames : firstNamesList) { 23 System.out.print(firstNames + " "); 24 } 25 System.out.println(); 26 27 String firstNames = String.join(", ", firstNamesList); 28 System.out.println("First names: " + firstNames); 29 30 List<String> lastNamesList = lastNames(names); 31 System.out.println("Last Names: "); 32 for (String lastNames : lastNamesList) { 33 System.out.print(lastNames + " "); 34 } 35 System.out.println(); 36 37 String lastNames = String.join(", ", lastNamesList); 38 System.out.println("Last names: " + lastNames); 39 40 List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); 41 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 42 43 System.out.println("Uppercase first names: " + upperCaseFirstNames); 44 45 List<String> hyphenatedNamesList = hyphenatedNames(hyphenatedNames(names)); 46 String hyphenatedNames = String.join("- ", hyphenatedNamesList); 47 48 System.out.println("Hyphenated names: " + hyphenatedNames); 49 50 int totalLength = totalNameLength(names); 51 System.out.println("Total length: " + totalLength); 52 53 int totalfirstLength = totalfirstNameLength(firstNames(names)); 54 System.out.println("Total first names length: " + totalfirstLength); 55 56 int productLength = productNameLength(names); 57 System.out.println("Product length: " + productLength); 58 } 59 60 private static List<String> firstNames(List<String> names) { 61 List<String> firsts = new ArrayList<>(); 62 for (String name : names) { 63 firsts.add(firstName(name)); 64 } 65 return firsts; 66 } 67 68 private static String firstName(String directoryStyleName) { 69 String firstName = directoryStyleName.substring(2 + directoryStyleName.indexOf(",")); 70 return firstName; 71 } 72 73 private static List<String> lastNames(List<String> names) { 74 List<String> lasts = new ArrayList<>(); 75 for (String name : names) { 76 lasts.add(lastName(name)); 77 } 78 return lasts; 79 } 80 81 private static String lastName(String directoryStyleName) { 82 String lastName = directoryStyleName.substring(0, directoryStyleName.indexOf(",")); 83 return lastName; 84 } 85 86 public static List<String> upperCaseNames(List<String> names) { 87 List<String> uppercases = new ArrayList<>(); 88 for (String name : names) { 89 uppercases.add(name.toUpperCase()); 90 } 91 return uppercases; 92 } 93 94 public static List<String> hyphenatedNames(List<String> names) { 95 List<String> hyphenateds = new ArrayList<>(); 96 for (String name : names) { 97 if (name.contains("-")) { 98 hyphenateds.add(name); 99 } 100 } 101 return hyphenateds; 102 } 103 104 public static int totalNameLength(List<String> names){ 105 int totalLength = 0; 106 for (String name : names){ 107 totalLength = totalLength + name.length(); 108 } 109 return totalLength; 110 } 111 112 public static int totalfirstNameLength(List<String> names){ 113 int totalfirstLength = 0; 114 for (String name : names){ 115 totalfirstLength = totalfirstLength + name.length(); 116 } 117 return totalfirstLength; 118 } 119 120 public static int productNameLength(List<String> names){ 121 int productLength = -1; 122 for (String name : names){ 123 productLength = productLength * name.length(); 124 } 125 return productLength; 126 } 127 } 128