1 2 3 4 package arraylists; 5 6 import java.util.ArrayList; 7 import java.util.List; 8 9 public class ArraylistProcessing { 10 public static void main(String[] arg) { 11 12 //point A: 13 List<String> names = new ArrayList<>(); 14 names.add("Holiday, Billie"); 15 names.add("Claudel, Camille"); 16 names.add("Picasso, Pablo"); 17 names.add("Gallen-kallela, Akseli"); 18 names.add("Zotto, Osvaldo"); 19 20 21 //Point B: 22 System.out.println("First name ..."); 23 for (String name : names) { 24 System.out.println(firstName(name)); 25 } 26 System.out.println(); 27 28 //Point C: 29 String firstNames = String.join(", ", firstNamesList(names)); 30 System.out.println("First names: " + firstNames); 31 System.out.println(); 32 33 //Point D : 34 System.out.println("last name ..."); 35 for (String name : names) { 36 System.out.println(lastName(name)); 37 } 38 System.out.println(); 39 40 String lastNames = String.join(", ", lastNamesList(names)); 41 System.out.println("Last names: " + lastNames); 42 43 // Point E: 44 List<String> upperCaseFirstNamesList = upperCaseNames(firstNamesList(names)); 45 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 46 System.out.println("Uppercase first names: " + upperCaseFirstNames); 47 48 //Point F: 49 List<String> hyphenatedNamesList = hyphenatedNames(lastNamesList(names)); 50 String hyphenatedNames = String.join(", ", hyphenatedNamesList); 51 System.out.println("hyphenateds names: " + hyphenatedNames); 52 53 // Point G: 54 int totalLength = totalNameLength(names); 55 System.out.println("Total length: " + totalLength); 56 57 // Point H: 58 int totalfirstLength = totalfirstNameLength(names); 59 System.out.println("Total first name length: " + totalfirstLength); 60 61 //Point I: 62 double productoflength = productNamesLength(names); 63 System.out.println(("product of length " + productoflength)); 64 65 } 66 67 private static List<String> firstNamesList(List<String> names) { 68 List<String> first = new ArrayList<>(); 69 for (String name : names) { 70 first.add(firstName(name)); 71 } 72 return first; 73 } 74 75 private static List<String> lastNamesList(List<String> names) { 76 List<String> last = new ArrayList<>(); 77 for (String name : names) { 78 last.add(lastName(name)); 79 } 80 return last; 81 } 82 83 private static String firstName(String directoryStyleName) { 84 int commaPosition = directoryStyleName.indexOf(","); 85 return directoryStyleName.substring(commaPosition + 2); 86 } 87 88 private static String lastName(String directoryStyleName) { 89 int commaPosition = directoryStyleName.indexOf(","); 90 return directoryStyleName.substring(0, commaPosition); 91 } 92 93 public static List<String> upperCaseNames(List<String> names) { 94 List<String> uppercases = new ArrayList<>(); 95 for (String name : names) { 96 uppercases.add(name.toUpperCase()); 97 } 98 return uppercases; 99 } 100 101 public static List<String> hyphenatedNames(List<String> names) { 102 List<String> hyphenateds = new ArrayList<>(); 103 for (String name : names) { 104 if (name.contains("-")) { 105 hyphenateds.add(name); 106 } 107 } 108 return hyphenateds; 109 } 110 111 public static int totalNameLength(List<String> names) { 112 int totalLength = 0; 113 for (String name : names) { 114 totalLength = totalLength + name.length(); 115 } 116 return totalLength; 117 } 118 119 public static int totalfirstNameLength(List<String> names) { 120 int totalfirstLength = 0; 121 for (String name : names) { 122 totalfirstLength = totalfirstLength + firstName(name).length(); 123 } 124 return totalfirstLength; 125 } 126 127 public static double productNamesLength(List<String> names) { 128 double productoflength = 1; 129 for (String name : names) { 130 productoflength = productoflength * name.length(); 131 } 132 return productoflength; 133 } 134 } 135 136