The following text was written to the standard output stream when the ArrayListProcessing program was executed from IntelliJ.
/*
*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) {
List 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
List 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 lastNamesList = lastNames(names);
System.out.print("Last Name: ");
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 upperCaseFirstNamesList = upperCaseNames(firstNames(names));
String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
System.out.println("Uppercase first names: " + upperCaseFirstNames);
//Point F
List 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 totalLengthFirstNames = totalNameLength(firstNames(names));
System.out.println("First Name Length: " + totalLengthFirstNames);
//POINT I
int productOfNames = totalLengthOfNamesProduct(names);
System.out.println("Product of Names: " + productOfNames);
}
private static String firstName(String directoryStyleName) {
int positionOfComma = directoryStyleName.indexOf(",");
String firstName = directoryStyleName.substring(positionOfComma + 2);
return firstName;
}
private static String lastName(String directoryStyleName) {
int positionOfComma = directoryStyleName.indexOf(",");
String lastName = directoryStyleName.substring(0, positionOfComma);
return lastName;
}
private static List firstNames(List names){
List firsts = new ArrayList<>();
for (String name : names){
firsts.add(firstName(name));
}
return firsts;
}
private static List lastNames(List names){
List lasts = new ArrayList<>();
for (String name : names){
lasts.add(lastName(name));
}
return lasts;
}
public static List upperCaseNames(List names){
List uppercases = new ArrayList<>();
for (String name : names){
uppercases.add(name.toUpperCase());
}
return uppercases;
}
public static List hyphenatedNames(List names){
List hyphenateds = new ArrayList<>();
for (String name: names){
if (name.contains("-")){
hyphenateds.add(name);
}
}
return hyphenateds;
}
public static int totalNameLength(List names){
int totalLength = 0;
for (String name : names){
totalLength = totalLength + name.length();
}
return totalLength;
}
public static int totalLengthOfNamesProduct(List names){
int product = 1;
for (String name : names){
int nameProduct = name.length();
product = nameProduct * product;
}
return product;
}
}