arrayListsProcessing.java
|
/*
* A Program to perform some basic operations on a list of String names.
*/
package arrayLists;
import java.util.ArrayList;
import java.util.List;
public class arrayListsProcessing {
// private static String lastName(String directoryStyleName) {
// int lastNameComma = directoryStyleName.indexOf(",");
// String lastName = directoryStyleName.substring(0,lastNameComma);
// return lastName;
// }
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, Camllie");
names.add("Picasso, Pablo");
names.add("Gallen-Kallela, Akseli");
names.add("Zotto, Osvaldo");
names.add("Aung, KoKo");
names.add("Kyaw-Aung, Khant");
//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 firstName : firstNamesList) {
System.out.print(firstName + " ");
}
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 names ArrayList.
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: Print a comma-separated list of all uppercase first names from the list of names in the names 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 names 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;
}
}