1 package arraylists; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 public class ArrayListProcessing { 6 7 8 public static void main(String[] args) { 9 // POINT A: Add some strings which represent names to an ArrayList. 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("Kong, Donkey"); 17 names.add("Brando, Dio"); 18 19 20 //POINT B: Create an ArrayList of just the first names of the names 21 //ArrayList. Use a for loop to print out the names, separated by spaces 22 List<String> firstNamesList = firstNames(names); 23 System.out.print("First names: "); 24 for (String firstName : firstNamesList){ 25 System.out.print(firstName + " "); 26 } 27 System.out.println(); 28 29 30 31 32 // POINT C: Use String’s join function to create and print a String of 33 // just the first names of the names ArrayList with each name separated by a comma. 34 String firstNames = String.join(", ", firstNamesList); 35 System.out.println("First names: " + firstNames); 36 //POINT D: By analogy from points B and C, print a comma-separated 37 // list of the last names in the names ArrayList. 38 List<String> lastNamesList = lastNames(names); 39 System.out.print("Last names: "); 40 for (String lastName : lastNamesList){ 41 System.out.print(lastName + " "); 42 } 43 System.out.println(); 44 String lastNames = String.join(", ", lastNamesList); 45 System.out.println("Last names: " + lastNames); 46 // POINT E: Print a comma-separated list of all uppercase first names 47 // from the list of names in the names ArrayList. 48 List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); 49 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 50 System.out.println("Uppercase first names: " + upperCaseFirstNames); 51 52 // POINT F: Print a comma-separated list of all hyphenated last names 53 // from the list of names in the names ArrayList. 54 List<String> hyphenatedNamesList = hyphenatedNames(lastNames(names)); 55 String hyphenatedLastNames = String.join(", ", hyphenatedNamesList); 56 System.out.println("Hyphenated last names: " + hyphenatedLastNames); 57 58 //POINT G: Print the integer value of the total length of all names 59 //in the names ArrayList 60 int totalLength = totalNameLength(names); 61 System.out.println("Total length: " + totalLength); 62 63 // POINT H: Print the integer value of the total length of all 64 // first names in the names ArrayList. 65 int totalFirstNameLength = totalFirstLength(firstNamesList); 66 System.out.println("First name total length: " + totalFirstNameLength); 67 // POINT I: Print the integer value of the product of the length of 68 // all first names in the names ArrayList. 69 70 int productFirstName = productFirstNameLength(firstNamesList); 71 System.out.println("First Name Products: " + productFirstName); 72 73 74 } 75 76 public static int totalNameLength(List<String> names){ 77 int totalLength = 0; 78 for (String name : names){ 79 totalLength = totalLength + name.length(); 80 } 81 return totalLength; 82 } 83 public static int totalFirstLength(List<String> firstNames){ 84 int totalFirstNameLength = 0; 85 for (String firstName : firstNames){ 86 totalFirstNameLength = totalFirstNameLength + firstName.length(); 87 } 88 return totalFirstNameLength; 89 } 90 public static int productFirstNameLength(List<String> firstNames) { 91 int productFirstName = 0; 92 for (String firstName : firstNames ){ 93 productFirstName = productFirstName * firstName.length(); 94 } 95 return productFirstName; 96 } 97 98 private static String firstName (String directoryStyleName) { 99 return directoryStyleName.substring((directoryStyleName.indexOf(",") + 1)); 100 } 101 private static List<String> firstNames(List<String> names){ 102 List<String> firsts = new ArrayList<>(); 103 for (String name : names){firsts.add(firstName(name)); 104 } 105 return firsts; 106 } 107 public static List<String> upperCaseNames(List<String> names){ 108 List<String> uppercases = new ArrayList<>(); 109 for (String name : names){ 110 uppercases.add(name.toUpperCase()); 111 } 112 return uppercases; 113 } 114 private static String lastName(String directoryStyleName ) { 115 return directoryStyleName.substring(0, directoryStyleName.indexOf(",") ); 116 } 117 private static List<String> lastNames(List<String> names){ 118 List<String> lasts = new ArrayList<>(); 119 for (String name : names){ 120 lasts.add(lastName(name)); 121 } 122 return lasts; 123 } 124 public static List<String> hyphenatedNames(List<String> names){ 125 List<String> hyphenateds = new ArrayList<>(); 126 for (String name : names){ 127 if (name.contains("-")) {hyphenateds.add(name); 128 }}return hyphenateds; } 129 }