ArrayListsProcessing.java
|
/*
* A program to perform some basic operations on a list of String name.
*/
package arraylistplay;
import java.util.ArrayList;
import java.util.List;
public class ArrayListsProcessing {
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("Zhu, Wenhuan");
names.add("Edward, Sheldon");
// 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 firstNames : firstNamesList) {
System.out.print(firstNames + " ");
}
System.out.println();
// POINT C Use String's join function to create and print a String of
// just the first names 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 ArrayList.
//
List<String> lastNamesList = lastNames(names);
System.out.println("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: Print a comma-separated list of all uppercase first names from
// the list of names in the ArrayList
List<String> upperCaseFirstNamesList = upperCaseName(firstNamesList);
String upperCaseFirstNames = String.join(", ", upperCaseFirstNamesList);
System.out.println("UpperCaseFirstNames: " + upperCaseFirstNames);
// POINT F: Print a comma-separated list of all hyphenated last names from
// the list of names in the name ArrayList.
List<String> hyphenatedNamesList = hyphenatedNames(lastNamesList);
String hyphenatedNames = String.join(", ", hyphenatedNamesList);
System.out.println("Hyphenated names: " + hyphenatedNames);
// POINT G: Print the integer 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 integer value of the total length of all first names in
// the names ArrayList.
//
int totalLengthOfFirstName = totalNameLength(firstNamesList);
System.out.println("Total Length of first names : " + totalLengthOfFirstName);
// POINT I: Print the integer value of the product of the length of all first
// names in the names ArrayList.
//
int totalProductNameLength = productNameLength(firstNamesList);
System.out.println("Total product of first names length : " + totalProductNameLength);
}
private static int productNameLength(List<String> names) {
int totalProductLength = 1;
for (String name : names){
totalProductLength = totalProductLength * name.length();
}
return totalProductLength;
}
private static List<String> upperCaseName(List<String> names) {
List<String> upperCase = new ArrayList<>();
for (String name : names) {
upperCase.add(name.toUpperCase());
}
return upperCase;
}
private static String firstName(String directoryStyleName) {
int firstNameComma = directoryStyleName.indexOf(",");
String firstName = directoryStyleName.substring(firstNameComma+2);
return firstName;
}
private static String lastName(String directoryStyleName) {
int lastNameComma = directoryStyleName.indexOf(",");
String lastName = directoryStyleName.substring(0,lastNameComma);
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 List<String> lastNames(List<String> names) {
List<String> lasts = new ArrayList<>();
for (String name : names) {
lasts.add(lastName(name));
}
return lasts;
}
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 totalNameLength(List<String> names){
int totalLength = 0;
for (String name : names){
totalLength = totalLength + name.length();
}
return totalLength;
}
}