/* A progran to perform some bacis operatons on a list of string names */ 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-kallela, Akseli"); names.add("Zotto, Osvaldo"); names.add("Shrestha, Bipin"); names.add("Mishra, Neeraj"); names.add("Bhatt, Ashutosh"); List<String> firstNamesList = firstNames(names); System.out.println("First names: "); for(String firstName: firstNamesList){ System.out.println(firstName + " "); } System.out.println(); String firstNames = String.join(",", firstNamesList); System.out.println("First names: " +"\n"+firstNames); System.out.println(); List<String> LastNamesList = lastNames(names); System.out.println("last names: "); for(String lastName: LastNamesList){ System.out.println( lastName + " "); } System.out.println(); String lastNames = String.join(",", LastNamesList); System.out.println("Last names: " +"\n"+lastNames); List<String> upperCaseFirstNamesList = upperCaseNames(firstNames(names)); String upperCaseFirstNames = String.join(",",upperCaseFirstNamesList); System.out.println("Uppercase first names: " +upperCaseFirstNames); List<String> hyphenatedList = hyphenatedNames(lastNames(names)); String hyphenatedlast = String.join(",",hyphenatedList); System.out.println("hyphenated last name : " +hyphenatedlast); int totallength = totalNamesLength(names); System.out.println("Total length " +totallength); int totalfirstlength = totalNamesLength(firstNames(names)); System.out.println("Total first name length " +totalfirstlength); double productoflength = productNamesLength(names); System.out.println(("product of length " +productoflength)); } private static String firstName(String directoryStyleName) { int commaposition = directoryStyleName.indexOf(","); return directoryStyleName.substring(commaposition +1); } 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(","); return directoryStyleName.substring(0,commaposition); } private static List<String> lastNames(List<String> names){ List<String> firsts = new ArrayList<>(); for(String name: names){ firsts.add(lastName(name)); } return firsts; } public static List<String> upperCaseNames(List<String> names){ List<String> uppercase = new ArrayList<>(); for(String name: names){ uppercase.add(name.toUpperCase()); } return uppercase; } 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 int totalNamesLength(List<String> names){ int totallength = 0; for(String name : names){ totallength = totallength + name.length(); } return totallength; } public static double productNamesLength(List<String> names){ double productoflength = 1; for(String name : names){ productoflength = productoflength * name.length(); } return productoflength; } }