1 package arraylists; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class ArrayListProcessing { 7 8 private static String firstName(String directoryStyleName) { 9 10 int firstName = directoryStyleName.length(); 11 int index = 0; 12 index = directoryStyleName.indexOf(" "); 13 directoryStyleName = directoryStyleName.substring(index+1,firstName); 14 return directoryStyleName; 15 16 } 17 18 private static List<String> firstNames(List<String> names){ 19 20 List<String> firsts = new ArrayList<>(); 21 for (String name : names){ 22 firsts.add(firstName(name)); 23 } 24 25 return firsts; 26 } 27 28 private static String lastName(String directoryStyleName) { 29 int lastName = directoryStyleName.length(); 30 int index = 0; 31 index = directoryStyleName.indexOf(","); 32 directoryStyleName = directoryStyleName.substring(0,index); 33 return directoryStyleName; 34 } 35 36 private static List<String> lastNames(List<String> names){ 37 38 List<String> lasts = new ArrayList<>(); 39 for (String name : names){ 40 lasts.add(lastName(name)); 41 } 42 43 return lasts; 44 } 45 46 public static List<String> upperCaseNames(List<String> names){ 47 48 List<String> uppercases = new ArrayList<>(); 49 for (String name : names){ 50 uppercases.add(name.toUpperCase()); 51 } 52 53 return uppercases; 54 55 } 56 57 public static List<String> hyphenatedNames(List<String> names){ 58 List<String> hyphenateds = new ArrayList<>(); 59 for (String name : names){ 60 if (name.contains("-")) { 61 hyphenateds.add(name); 62 } 63 } 64 65 return hyphenateds; 66 67 } 68 69 public static int totalNameLength(List<String> names){ 70 int totalLength = 0; 71 for (String name : names){ 72 totalLength = totalLength + name.length(); 73 } 74 return totalLength; 75 } 76 77 public static int nameLengthProduct(List<String> names){ 78 int lengthProduct = 1; 79 for (String name : names){ 80 lengthProduct= name.length(); 81 } 82 return lengthProduct; 83 } 84 85 public static void main(String[] args){ 86 87 //POINT A 88 89 List<String> names = new ArrayList<>(); 90 names.add("Holiday, Billie"); 91 names.add("Claudel, Camille"); 92 names.add("Picasso, Pablo"); 93 names.add("Gallen-Kallela, Akseli"); 94 names.add("Zotto, Osvaldo"); 95 names.add("Took-Baggins, Belladonna"); 96 names.add("Grey, Gandalf"); 97 98 //POINT B 99 100 List<String> firstNamesList = firstNames(names); 101 102 System.out.print("First names: "); 103 for (String firstName : firstNamesList){ 104 System.out.print(firstName + " "); 105 } 106 System.out.println(); 107 108 //POINT C 109 110 String firstNames = String.join(", ", firstNamesList); 111 112 System.out.println("First names: " + firstNames); 113 114 //POINT D 115 116 List<String> lastNamesList = lastNames(names); 117 118 System.out.print("Last names: "); 119 for (String lastName : lastNamesList){ 120 System.out.print(lastName + " "); 121 } 122 System.out.println(); 123 124 String lastNames = String.join(", ", lastNamesList); 125 126 System.out.println("Last names: " + lastNames); 127 128 //POINT E 129 130 List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); 131 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 132 133 System.out.println("Uppercase first names: " + upperCaseFirstNames); 134 135 //POINT F 136 137 List<String> hyphenatedNamesList = hyphenatedNames(lastNames(names)); 138 String hyphenatedLastNames = String.join(", ", hyphenatedNamesList); 139 140 System.out.println("Hyphenated last names: " + hyphenatedLastNames); 141 142 143 //POINT G 144 145 int totalLength = totalNameLength(names); 146 147 System.out.println("Total length: " + totalLength); 148 149 //POINT H 150 151 int totalFirstNameLength = totalNameLength(firstNames(names)); 152 153 System.out.println("Total length: " + totalFirstNameLength); 154 155 //POINT I 156 157 int lengthProduct = nameLengthProduct(names); 158 159 System.out.println("Product of lengths: " + lengthProduct); 160 161 } 162 163 } 164