1 /* 2 *A program to perform some basic operations on a list of String names 3 */ 4 package arraylistplay; 5 6 import java.util.ArrayList; 7 import java.util.List; 8 9 public class ArrayListProcessing { 10 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("Zotto, Osvaldo"); 19 names.add("MinSoe, Myat"); 20 names.add("Kyaw, Aung-Khant"); 21 names.add("Aung, KoKo"); 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 List<String> firstNamesList = firstNames(names); 27 System.out.print("First names: "); 28 for (String firstName : firstNamesList) { 29 System.out.print(firstName + " "); 30 } 31 System.out.println(); 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 34 // name separated by a comma. 35 String firstNames = String.join(", ", firstNamesList); 36 37 System.out.println("First names: " + firstNames); 38 //POINT D: By analogy from points B and C, print a comma-separated 39 // list of the last names in the names ArrayList 40 List<String> lastNameList = lastNames(names); 41 System.out.print("Last names: "); 42 for (String lastName : lastNameList) { 43 System.out.print(lastName + " "); 44 } 45 System.out.println(); 46 String lastNames = String.join(", ", lastNameList); 47 48 System.out.println("First names: " + lastNames); 49 // POINT E: Print a comma-separated list of all uppercase first names 50 // from the list of names in the names ArrayList. 51 List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); 52 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 53 System.out.println("Uppercase first names: " + upperCaseFirstNames); 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(names); 57 String hyphenatedNames = String.join(",", hyphenatedNamesList); 58 System.out.println("Hyphenated Names: " + hyphenatedNames); 59 // POINT G: Print the integer value of the total length of all names 60 // in the names ArrayList. 61 int totalLength = totalNameLength(names); 62 System.out.println("Total length: " + totalLength); 63 // POINT H: Print the integer value of the total length of all 64 // first names in the names ArrayList. 65 int totalFirstNamesLength = totalFirstNameLength(names); 66 System.out.println("Total First Name length: " + totalFirstNamesLength); 67 // POINT I: Print the integer value of the product of the length of 68 // all first names in the names ArrayList. 69 int totalProduct = productOfNameLengths(names); 70 System.out.println("Total Product of Name Length: " +totalProduct); 71 } 72 73 private static List<String> firstNames(List<String> names) { 74 List<String> firsts = new ArrayList<>(); 75 for (String name : names) { 76 firsts.add(firstName(name)); 77 } 78 return firsts; 79 } 80 81 private static String firstName(String directoryStyleName) { 82 int commaPosition = directoryStyleName.indexOf(","); 83 String firstName = directoryStyleName.substring(2 + commaPosition); 84 return firstName; 85 } 86 87 private static List<String> lastNames(List<String> names) { 88 List<String> lasts = new ArrayList<>(); 89 for (String name : names) { 90 lasts.add(lastName(name)); 91 } 92 return lasts; 93 } 94 95 private static String lastName(String directoryStyleName) { 96 int commaPosition = directoryStyleName.indexOf(","); 97 String lastName = directoryStyleName.substring(0, commaPosition); 98 return lastName; 99 } 100 101 public static List<String> upperCaseNames(List<String> names) { 102 List<String> uppercases = new ArrayList<>(); 103 for (String name : names) { 104 uppercases.add(name.toUpperCase()); 105 } 106 return uppercases; 107 } 108 public static List<String> hyphenatedNames(List<String> names){ 109 List<String> hyphenateds = new ArrayList<>(); 110 for (String name : names){ 111 if (name.contains("-")) { 112 hyphenateds.add(name); 113 } 114 } 115 return hyphenateds; 116 } 117 public static int totalNameLength(List<String> names){ 118 int totalLength = 0; 119 for (String name : names){ 120 totalLength = totalLength + name.length(); 121 } 122 return totalLength; 123 } 124 public static int totalFirstNameLength(List<String> names){ 125 int totalFirstNameLength = 0; 126 for (String name : firstNames(names)){ 127 totalFirstNameLength = totalFirstNameLength + name.length(); 128 } 129 return totalFirstNameLength; 130 } 131 public static int productOfNameLengths(List<String> names){ 132 int totalProduct = 1; 133 for(String name : names){ 134 totalProduct= totalProduct*name.length(); 135 } 136 return totalProduct; 137 } 138 } 139