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 of ArrayList. List<String> names= new ArrayList<>(); names.add("Holiday, Billie"); names.add("Claudel, Camille"); names.add("Picasso, Pablo"); names.add("Gallen-Kallela, Akseli"); names.add("Zotto, Osvaldo"); names.add("Soules, Douglas"); //Point B 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); System.out.print("Last names: "); for (String lastName : lastNamesList){System.out.print(lastName + " ");} System.out.println(); String lastNames = String.join(", " , lastNamesList); System.out.println("Last names: " + lastNames); //Point E List<String> upperCaseFirstNamesList = upperCaseNames(firstNamesList); String upperCaseFirstNames = String.join(", " , upperCaseFirstNamesList); System.out.println("Uppercase first names: " + upperCaseFirstNames); //Point F List<String> hyphenatedNamesList = hyphenatedNames(lastNamesList); String hyphenatedNames = String.join(", " , hyphenatedNamesList); System.out.println("Uppercase first names: " + hyphenatedNames); //Point G int totalLength = totalNameLength(names); System.out.println("Total length: " + totalLength); //Point H int totalFirstLength = totalNameLength(firstNamesList); System.out.println("Total first name length: " + totalFirstLength); //Point I int totalLastLength = totalNameLength(lastNamesList); System.out.println("Total last name length: " + totalLastLength); } private static int totalNameLength(List<String> names) { int totalLength = 0; for (String name : names){ totalLength = totalLength + name.length(); } return totalLength; } private static List<String> hyphenatedNames(List<String> names) { List<String> hyphenateds = new ArrayList<>(); for (String name : names){ if (name.contains("-")){ hyphenateds.add(name); } } return hyphenateds; } 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> lastNames(List<String> names) { List<String> lasts = new ArrayList<>(); for (String name : names){ lasts.add(lastName(name)); } return lasts; } private static String lastName(String directoryStyleName) { int Comma = directoryStyleName.indexOf(","); String lastName = directoryStyleName.substring(0,Comma); return lastName; } 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 firstName(String directoryStyleName) { int Space = directoryStyleName.indexOf(" "); String firstName = directoryStyleName.substring(Space + 1); return firstName; } }