1 /* 2 *a program to perform some basic operations on a list of string names. 3 */ 4 package arraylists; 5 6 import java.util.ArrayList; 7 import java.util.List; 8 9 public class ArrayListProcessing { 10 public static void main(String[] args){ 11 List<String> names = new ArrayList<>(); 12 names.add("Holiday, Billie"); 13 names.add("Claudel, Camille"); 14 names.add("Picasso, Pablo"); 15 names.add("Gallen-Kallela, Akseli"); 16 names.add("Zotto, Osvaldo"); 17 names.add("Sanchez, Louis"); 18 names.add("Martinez, Valeria"); 19 names.add("Sanchez-Junior, Louis"); 20 21 List<String> firstNamesList = firstNames(names); 22 23 System.out.print("First names: "); 24 for (String firstName : firstNamesList) { 25 System.out.print(firstName + " "); 26 } 27 System.out.println(); 28 29 String firstNames = String.join(", ", firstNamesList); 30 System.out.println("First names: " + firstNames); 31 32 List<String> lastNamesList = lastNames(names); 33 String lastNames = String.join(", ", lastNamesList); 34 System.out.println("Last names: " + lastNames); 35 36 List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); 37 String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); 38 System.out.println("Uppercase first names: " + upperCaseFirstNames); 39 40 List<String> hyphenatedLastNamesList = hyphenatedNames(names); 41 String hyphenatedLasts = String.join(", ", hyphenatedLastNamesList); 42 System.out.println("Hyphenated last names: " + hyphenatedLasts); 43 44 int totalLength = totalNameLength(names); 45 System.out.println("Total length: " + totalLength); 46 47 int totalFirstsLength = totalNameLength(firstNames(names)); 48 System.out.println("Total first names length: " + totalFirstsLength); 49 50 int namesProduct = namesProduct(names); 51 System.out.println("Names product: " + namesProduct); 52 } 53 54 private static List<String> firstNames(List<String> names) { 55 List<String> firsts = new ArrayList<>(); 56 for (String name : names) { 57 firsts.add(firstName(name)); 58 } 59 return firsts; 60 } 61 62 private static List<String> lastNames(List<String> names) { 63 List<String> lasts = new ArrayList<>(); 64 for (String name : names) { 65 lasts.add(lastName(name)); 66 } 67 return lasts; 68 } 69 70 private static List<String> upperCaseNames(List<String> names) { 71 List<String> uppercases = new ArrayList<>(); 72 for (String name : names) { 73 uppercases.add(name.toUpperCase()); 74 } 75 return uppercases; 76 } 77 public static List<String> hyphenatedNames(List<String> names){ 78 List<String> hyphenateds = new ArrayList<>(); 79 for (String name : names){ 80 if (name.contains("-")) { 81 hyphenateds.add(name); 82 } 83 } 84 return hyphenateds; 85 } 86 87 public static int totalNameLength(List<String> names){ 88 int totalLength = 0; 89 for (String name : names){ 90 totalLength = totalLength + name.length(); 91 } 92 return totalLength; 93 } 94 95 public static int namesProduct(List<String> names){ 96 int namesprod = 1; 97 for (String name : names){ 98 namesprod = namesprod * name.length(); 99 } 100 return namesprod; 101 } 102 103 private static String firstName(String directoryStyleName) { 104 int cp = directoryStyleName.indexOf(", "); 105 int last = directoryStyleName.length(); 106 String first = directoryStyleName.substring(cp+2,last); 107 return first; 108 } 109 110 private static String lastName(String directoryStyleName) { 111 int cp = directoryStyleName.indexOf(", "); 112 String last = directoryStyleName.substring(0,cp); 113 return last; 114 } 115 } 116