package arraylists; import java.util.ArrayList; import java.util.List; public class ArrayListProcessing { public static void main(String[] args) { //point A, add some strings which represent names to an ArrayList List<String> names = new ArrayList<>(); names.add("Holiday, Billie"); names.add("Claudel, Camille"); names.add("Picasso, Pablo"); names.add("Gallen-Kallella, Askeli"); names.add("Zotto, Osvaldo"); names.add("VanRiper, Daniel"); names.add("Dendo, Tony"); names.add("bo-bo, guy"); //point B, make arraylist of first names only. use a for loop to print out the names seperated by spaces List<String> firstNamesList = firstNames(names); System.out.print("First names: "); for (String firstName : firstNamesList) { System.out.print(firstName + " "); } System.out.println(); //point C String firstNames = String.join(", ", firstNamesList); System.out.println("First names: " + firstNames); //point D List<String> lastNamesList = lastNames(names); String lastNames = String.join(", ", lastNamesList); System.out.println("Last Names : " + lastNames); //point E List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); String upperCaseFirstNames = String.join(", " , upperCaseFirstNamesList); System.out.println("Upper Case First Names : " + upperCaseFirstNames ); //point F List<String> hyphenatedLastNamesList = hyphenatedNames(lastNames(names)); String hyphenatedLastNames = String.join(", ", hyphenatedLastNamesList); System.out.println("Hyphenated Last Names : " + hyphenatedLastNames); //point G int totalLength = totalNameLength(names); System.out.println("Total length: " + totalLength); //point H int totalFirstNameLength = totalNameLength(firstNames(names)); System.out.println("Total first name length: " + totalFirstNameLength); //point I int totalNameProduct = totalNameProductLength(names); System.out.println("The product of the name lengths: " + totalNameProduct); } public static int totalNameProductLength(List<String> names) { int productLength = 1; for (String name: names) { productLength *= name.length(); } return productLength; } public static int totalNameLength(List<String> names) { int totalLength = 0; for (String name: names) { totalLength += name.length(); } return totalLength; } public static List<String> hyphenatedNames(List<String> names) { List<String> hyphenateds = new ArrayList<>(); for (String name: names) { if (name.contains("-")) { hyphenateds.add(name); } } return hyphenateds; } public static List<String> upperCaseNames(List<String> names) { List<String> uppercases = new ArrayList <>(); for (String name: names) { uppercases.add(name.toUpperCase()); } return uppercases; } private static List<String> lastNames(List<String> names) { List<String> lasts = new ArrayList<>(); for (String name: names){ lasts.add(lastName(name)); } return lasts; } private static String firstName(String directoryStyleName) { int spaceLocation = directoryStyleName.indexOf(" "); String firstName = directoryStyleName.substring(spaceLocation); return firstName; } private static List<String> firstNames(List<String> names) { List<String> firsts = new ArrayList<>(); for (String name : names) { firsts.add(firstName(name)); } return firsts; } private static String lastName(String directoryStyleName) { int seperatorLocation = directoryStyleName.indexOf(","); String lastName = directoryStyleName.substring(0, seperatorLocation ); return lastName; } }