1 package arraylists; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class ArrayListProcessing { 7 public static void main(String[] args) { 8 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("Hurts, Jalen"); 17 names.add("Burrow, Joe"); 18 names.add("Allen, Josh"); 19 // POINT B: ArrayList containing the first names of the names contained with the 'names' ArrayList 20 List<String> firstNamesList = firstNames(names); 21 for (String firstName : firstNamesList) { 22 System.out.print(firstName + " "); 23 } 24 System.out.println(); 25 // POINT C: Print a string of just the first names of the 'names' ArrayList, each seperated with a comma 26 String firstNames = String.join(", ", firstNamesList); 27 System.out.println("First names: " + firstNames); 28 // POINT D: print a comma-separated list of all last names in the 'names' ArrayList 29 List<String> lastNamesList = lastNames(names); 30 for (String lastName : lastNamesList) { 31 System.out.print(lastName + " "); 32 } 33 System.out.println(); 34 String lastNames = String.join(", ", lastNamesList); 35 System.out.println("Last names: " + lastNames); 36 // POINT E: Print a comma-separated list of all uppercase first names from the 'names' ArrayList 37 List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); 38 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 39 System.out.println("Uppercase first names: " + upperCaseFirstNames); 40 // POINT F: Print a comma-separate list of all hyphenated last names from the 'names' ArrayList 41 List<String> hyphenatedLastNamesList = hyphenatedNames(lastNames(names)); 42 String hyphenatedLastNames = String.join(", ", hyphenatedLastNamesList); 43 System.out.println("Hyphenated last names: " + hyphenatedLastNames); 44 // POINT G: Print the integer value of the total length of all names in the 'names' ArrayList 45 int totalLength = totalNameLength(names); 46 System.out.println("Total length: " + totalLength); 47 // POINT H: Print the integer value of the total length of all first names in the 'names' ArrayList 48 int totalFirstsLength = totalNameLength(firstNamesList); 49 System.out.println("Total length of first names: " + totalFirstsLength); 50 51 // POINT I: Print the integer value of the product of the length of all the first names in the 'names' ArrayList 52 int productFirstNamesLength = multiplyFirstNamesLength(firstNamesList); 53 System.out.println("Product of the length of all first names: " + productFirstNamesLength); 54 } 55 public static int multiplyFirstNamesLength(List<String> names) { 56 int product = 1; 57 for (String name : names) { 58 product = product * name.length(); 59 } 60 return product; 61 } 62 public static int totalNameLength(List<String> names) { 63 int totalLength = 0; 64 for (String name : names) { 65 totalLength = totalLength + name.length(); 66 } 67 return totalLength; 68 } 69 public static List<String> hyphenatedNames(List<String> names) { 70 List<String> hyphenateds = new ArrayList<>(); 71 for (String name : names) { 72 if (name.contains("-")) { 73 hyphenateds.add(name); 74 } 75 } 76 return hyphenateds; 77 } 78 public static List<String> upperCaseNames(List<String> names) { 79 List<String> uppercases = new ArrayList<>(); 80 for (String name : names) { 81 uppercases.add(name.toUpperCase()); 82 } 83 return uppercases; 84 } 85 private static List<String> firstNames(List<String> names) { 86 List<String> firsts = new ArrayList<>(); 87 for (String name : names) { 88 firsts.add(firstName(name)); 89 } 90 return firsts; 91 } 92 private static List<String> lastNames(List<String> names) { 93 List<String> lasts = new ArrayList<>(); 94 for (String name : names) { 95 lasts.add(lastName(name)); 96 } 97 return lasts; 98 } 99 private static String firstName(String directoryStyleName) { 100 int commaposition = directoryStyleName.indexOf(" "); 101 String first = directoryStyleName.substring(commaposition + 2); 102 return first; 103 } 104 private static String lastName(String directoryStyleName) { 105 int commaPosition = directoryStyleName.indexOf(","); 106 String last = directoryStyleName.substring(0, commaPosition); 107 return last; 108 } 109 } 110 111 112 113 114