/* *A program to perform some basic operations on a list of String names */ package arraylistplay; 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-Kallela, Akseli"); names.add("Zotto, Osvaldo"); //POINT B: Create an Array list of just the first names using a for loop ArrayList<String> firstNames = new ArrayList<String>(firstNames(names)); //POINT C: Use the String's join function to create and print a string of just the first names w/ each separated by a comma String firstNamesList = String.join(", ", firstNames); System.out.println("First names:" + firstNamesList); //POINT D: Print a comma-separated list of the last names ArrayList<String> lastNames = new ArrayList<String>(lastNames(names)); String lastNamesList=String.join(", ", lastNames); System.out.println("Last names:" + lastNamesList); //POINT E: Print comma separated list of all uppercase first names from the list ArrayList<String> upperCaseNames=new ArrayList<String>(upperCase(names)); List<String> upperCaseFirstNames=new ArrayList<String>(upperCase(firstNames(names))); String upperCaseFirstNamesList=String.join(", ", upperCaseFirstNames); System.out.println("Uppercase first names: "+upperCaseFirstNamesList); //Point F: Print comma separated list of hyphenated last names ArrayList<String> hyphenatedNames=new ArrayList<>(hyphenatedNames(names)); ArrayList<String> hyphenatedLastNames=new ArrayList<>(hyphenatedNames(lastNames)); String hyphenatedLastNamesList=String.join(", ",hyphenatedLastNames); System.out.println("Hyphenated last names: "+hyphenatedLastNamesList); //Point G: Print the integer value of the total length of all the names in the names ArrayList int totalLength=totalNameLength(names); System.out.println("Total length: "+totalLength); //Point H: Print the integer value of the total length in the firstNames ArrayList totalLength=totalNameLength(firstNames); System.out.println("Total first names length:"+totalLength); //Point I: Print the integer value of product of the length of the first names list totalLength=totalProductOfNameLength(firstNames); System.out.println("Product of first names:"+totalLength); } private static int totalProductOfNameLength(ArrayList<String> firstNames) { int total=1; for (String name:firstNames){ total=total*name.length(); } return total; } 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> upperCase(List<String> names) { List<String>upperCaseNames=new ArrayList<>(); for(String name: names){ upperCaseNames.add(name.toUpperCase()); } return upperCaseNames; } 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 name) { int commaPosition=name.indexOf(","); String lastName=name.substring(0, commaPosition); 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 name) { int commaPosition = name.indexOf(","); String firstName = name.substring(commaPosition + 2, name.length()); return firstName; } }