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 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("McCall, Scott"); 19 names.add("Sawayama, Rina"); 20 names.add("Knowles-Carter, Beyonce"); 21 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 String firstNames = String.join(", ", firstNamesList); 31 System.out.println("First names: " + firstNames); 32 33 List<String> lastNamesList = lastNames(names); 34 String lastNames = String.join(", ", lastNamesList); 35 System.out.println("Last names: " + lastNames); 36 37 List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); 38 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 39 System.out.println("Uppercase first names: " + upperCaseFirstNames); 40 41 List<String> hyphenatedLastNamesList = hyphenatedNames(names); 42 String hyphenatedLasts = String.join(", ", hyphenatedLastNamesList); 43 System.out.println("Hyphenated last names: " + hyphenatedLasts); 44 45 int totalLength = totalNameLength(names); 46 System.out.println("Total length: " + totalLength); 47 48 int totalFirstsLength = totalNameLength(firstNames(names)); 49 System.out.println("Total first names length: " + totalFirstsLength); 50 51 int namesProduct = namesProduct(names); 52 System.out.println("Names product: " + namesProduct); 53 } 54 55 private static List<String> firstNames(List<String> names) { 56 List<String> firsts = new ArrayList<>(); 57 for (String name : names) { 58 firsts.add(firstName(name)); 59 } 60 return firsts; 61 } 62 63 private static List<String> lastNames(List<String> names) { 64 List<String> lasts = new ArrayList<>(); 65 for (String name : names) { 66 lasts.add(lastName(name)); 67 } 68 return lasts; 69 } 70 71 private static List<String> upperCaseNames(List<String> names) { 72 List<String> uppercases = new ArrayList<>(); 73 for (String name : names){ 74 uppercases.add(name.toUpperCase()); 75 } 76 return uppercases; 77 } 78 79 public static List<String> hyphenatedNames(List<String> names){ 80 List<String> hyphenateds = new ArrayList<>(); 81 for (String name : names){ 82 if (name.contains("-")) { 83 hyphenateds.add(name); 84 } 85 } 86 return hyphenateds; 87 } 88 89 public static int totalNameLength(List<String> names){ 90 int totalLength = 0; 91 for (String name : names){ 92 totalLength = totalLength + name.length(); 93 } 94 return totalLength; 95 } 96 97 public static int namesProduct(List<String> names){ 98 int namesprod = 1; 99 for (String name : names){ 100 namesprod = namesprod * name.length(); 101 } 102 return namesprod; 103 } 104 105 private static String firstName(String directoryStyleName) { 106 int cp = directoryStyleName.indexOf(", "); 107 int last = directoryStyleName.length(); 108 String first = directoryStyleName.substring(cp+2,last); 109 return first; 110 } 111 112 private static String lastName(String directoryStyleName) { 113 int cp = directoryStyleName.indexOf(", "); 114 String last = directoryStyleName.substring(0,cp); 115 return last; 116 } 117 } 118