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