package arraylists; import javax.print.DocFlavor; import java.util.ArrayList; import java.util.List; public class ArrayListProcessing { public static void main(String[] args) { //POINT A: Add some string 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("Galeen-Kallella, Akseli"); names.add("Zotto, Osvaldo"); names.add("Curry, Steph"); names.add("Carney, Emily"); names.add("Tiller, Chyenne"); names.add("Sackey-Mensah, Mariah"); //POINT B: Create an ArrayList of just the first names of the names ArrayList. // Use a for loop to print out the names, separated by spaces. List<String> firstNamesList = firstNames(names); System.out.print("First names: "); for (String firstName : firstNamesList) { System.out.println(firstName + " "); } System.out.println(); //POINT C: Use String's join function to create and print a String of // just the first name of the names ArrayList with each // name separated by a comma, String firstNames = String.join(", ", firstNamesList); System.out.println("First names: " + firstNames); //POINT D: By analogy from points B and C, print a comma-separated // list of the last names in the names ArrayList List<String> lastNamesList = lastNames(names); System.out.print("Last names: "); for (String lastName : lastNamesList) { System.out.println(lastName + " "); } System.out.println(); String lastNames = String.join(", ", lastNamesList); System.out.println("Last names: " + lastNames); //POINT E: Print a comma-separated list of all uppercase first names // from the list of names in the names ArrayList. List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList); System.out.println("UpperCase First Names: " + upperCaseFirstNames); //POINT F: Print a comma-separated list of all hyphenated last names // from the list of names in the names ArrayList List<String> hyphenatedNamesList = hypenatedNames(names); String hyphenatedNames = String.join(",", hyphenatedNamesList); System.out.println("Hyphenated Names: " + hyphenatedNames); //POINT G: Print the int value of the total length of all names // in the names ArrayList. int totalLength = totalNameLength(names); System.out.println("Total length: " + totalLength); //POINT H: Print the int value of the total length of all // first names in the names ArrayList int totalFirstNameLength = totalNameLength(firstNamesList); System.out.println("Total First Names length: " + totalFirstNameLength); //POINT I: Print the int value of the product of the length of // all first names in the names ArrayList. int totalLengthProduct = nameProduct(names); System.out.println("The product of the length of all names in the ArrayList: " + totalLengthProduct); } private 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> hypenatedNames(List<String> names) { List<String> hyphenateds = new ArrayList<>(); for (String name : names) { if (name.contains("-")) { hyphenateds.add(name); } } return hyphenateds; } private static int totalNameLength(List<String> names) { int totalLength = 0; for (String name : names) { totalLength = totalLength + name.length(); } return totalLength; } private static int totalFirstNameLength(List<String> firstNames) { int totalFirstNameLength = 0; for (String firstName : firstNames) { totalFirstNameLength = totalFirstNameLength + firstName.length(); } return totalFirstNameLength; } private static int nameProduct(List<String> names) { int totalLength = 1; for (String name : names) { totalLength = totalLength * name.length(); } return totalLength; } private static String firstName(String directoryStyleName) { int commaPosition = directoryStyleName.indexOf(","); String firstName = directoryStyleName.substring(commaPosition + 2); 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 commaPosition = directoryStyleName.indexOf(","); String lastName = directoryStyleName.substring(0, commaPosition); return lastName; } private static List<String> lastNames(List<String> names) { List<String> lasts = new ArrayList<>(); for (String name : names) { lasts.add(lastName(name)); } return lasts; } }