1 /* 2 * A program to perform some basic operations on a list of string names. 3 */ 4 5 package arraylistplay; 6 7 import java.util.ArrayList; 8 import java.util.List; 9 10 public class ArrayListProcessing { 11 public static void main (String[] args){ 12 // POINT A: add some strings which represent names to an arraylist. 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("Zotton, Osvaldo"); 19 names.add("Harry, Khant"); 20 names.add("Roronoa, Zoro"); 21 names.add("Monkey-D, Luffy"); 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 by spaces. 25 List<String> firstNamesList = firstNames(names); 26 System.out.print("First names: "); 27 for (String firstName : firstNamesList) { 28 System.out.print(firstName + " "); 29 } 30 System.out.println(); 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 37 //Point D: By analogy from points B and C, print a comma-separated 38 // List of the last names in the names ArrayList. 39 List<String> lastNamesList = lastNames(names); 40 System.out.print("Last names: "); 41 for (String lastName : lastNamesList){ 42 System.out.print(lastName+ " "); 43 } 44 System.out.println(); 45 String lastNames = String.join(", ", lastNamesList); 46 System.out.println("last names: "+ lastNames); 47 48 //Point E: Print a comma-separated list of all uppercase first names 49 // from the list of names in the names ArrayList. 50 List<String> upperCaseFirstNamesList = upperCaseName(firstNamesList); 51 String upperCaseFirstNames = String.join(", ",upperCaseFirstNamesList); 52 System.out.println("UpperCaseFirstNames: " + upperCaseFirstNames); 53 54 //Point F: Print a comma-separated list of all hyphenated last names 55 // from the list of names in the names ArrayList. 56 List<String> hyphenatedNamesList = hyphenatedNames(lastNamesList); 57 String hyphenatedNames = String.join(", ",hyphenatedNamesList); 58 System.out.println("Hyphenated names: " + hyphenatedNames); 59 60 //Point G: Print the integer value of the total length of all 61 // in the list of names in the names ArrayList. 62 int totalLength = totalNameLength(names); 63 System.out.println("Total length: " + totalLength); 64 65 //Point H: Print the integer value of the total length of 66 // all first name in the names ArrayList. 67 int FirstNameLength = totalNameLength(firstNamesList); 68 System.out.println("FirstNames length: " + FirstNameLength); 69 70 // POINT I: Print the integer value of the product of the length of 71 // all first names in the names ArrayList. 72 int FirstNameProduct = totalNameProduct(firstNamesList); 73 System.out.println("FirstNames product: " + FirstNameProduct); 74 } 75 76 private static List<String> lastNames(List<String> names) { 77 List<String> lasts = new ArrayList<>(); 78 for (String name : names){ 79 lasts.add(lastName(name)); 80 } 81 return lasts; 82 } 83 84 private static List<String> firstNames(List<String> names) { 85 List<String> firsts = new ArrayList<>(); 86 for (String name : names) { 87 firsts.add(firstName(name)); 88 } 89 return firsts; 90 } 91 92 public static List<String> hyphenatedNames(List<String> names){ 93 List<String> hyphenateds = new ArrayList<>(); 94 for (String name : names){ 95 if (name.contains("-")){ 96 hyphenateds.add(name); 97 } 98 } 99 return hyphenateds; 100 } 101 102 public static List<String> upperCaseName (List<String> names){ 103 List<String> uppercases = new ArrayList<>(); 104 for (String name : names){ 105 uppercases.add(name.toUpperCase()); 106 } 107 return uppercases; 108 } 109 110 public static int totalNameLength(List<String> names){ 111 int totalLength = 0; 112 for (String name : names){ 113 totalLength = totalLength + name.length(); 114 } 115 return totalLength; 116 } 117 118 private static int totalNameProduct(List<String> names) { 119 int totalLength = 1; 120 for (String name : names){ 121 totalLength = totalLength * name.length(); 122 } 123 return totalLength; 124 } 125 126 private static String firstName(String name) { 127 String firstName = name.substring(name.indexOf(",")+2); 128 return firstName; 129 } 130 131 private static String lastName(String directoryStyleName) { 132 String lastName = directoryStyleName.substring(0,directoryStyleName.indexOf(",")); 133 return lastName; 134 } 135 } 136