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