ArrayListProcessing.java
1    /* 
2    * A program to perform some basic operations on a list of String names. 
3     */
4    
5    package arraylists;
6    
7    import javax.swing.*;
8    import java.util.ArrayList;
9    import java.util.List;
10   
11   public class ArrayListProcessing {
12   
13       public static void main(String[] args) {
14           //POINT A : Add some strings which represent names to an ArrayList.
15           List<String> names = new ArrayList<>();
16           names.add("Holiday, Billie");
17           names.add("Claudel, Camille");
18           names.add("Picasso, Pablo");
19           names.add("Gallen-Kallela, Akseli");
20           names.add("Zotto, Osvaldo");
21           names.add("Mishra, Neeraj");
22           names.add("Rauniyar, Adarsh");
23   
24           List<String> firstNamesList = firstNames(names);
25   
26           System.out.println("first names: ");
27           for (String firstName : firstNamesList) {
28               System.out.println(firstName + " ");
29           }
30           System.out.println();
31   
32           String firstNames = String.join(" ,", firstNamesList);
33   
34           System.out.println("firstNames: " + firstNames);
35   
36   
37           List<String> lastNamesList = lastNames(names);
38   
39           System.out.println("last names: ");
40           for (String lastName : lastNamesList) {
41               System.out.println(lastName + " ");
42           }
43           System.out.println();
44   
45           String lastNames = String.join(" ,", lastNamesList);
46   
47           System.out.println("lastNames: " + lastNames);
48   
49           List<String> upperCaseFirstNamesList =  upperCaseNames(firstNames(names));
50           String uppercaseFirstNames = String.join(" , " , upperCaseFirstNamesList);
51   
52   
53           System.out.println("Uppercase first names: " + uppercaseFirstNames);
54   
55           List<String> hyphenatedNamesList =  hyphenatedNames(names);
56           String hyphenatedNames = String.join(" , " , hyphenatedNamesList);
57   
58   
59           System.out.println(" hyphenated names: " + hyphenatedNames);
60   
61           int totalLength = totalNameLength(names);
62   
63           System.out.println("Total length: " + totalLength);
64           int totalfirstlength = totalNameLength(firstNames(names));
65           System.out.println(" Totalfirst length: " + totalfirstlength);
66   
67           int totalProduct = totalNameProduct(names);
68   
69           System.out.println("totalName Product: " + totalProduct);
70           int totalsecondlength = totalNameProduct(firstNames(names));
71           System.out.println(" totalsecondlength: " + totalsecondlength);
72   
73   
74   
75   
76       }
77   
78   
79   
80       private static String firstName(String directoryStyleName) {
81           int commaposition = directoryStyleName.indexOf(",");
82           return directoryStyleName.substring(commaposition +1);
83       }
84   
85       private static List<String> firstNames(List<String> names) {
86           List<String> firsts = new ArrayList<>();
87           for (String name : names) {
88               firsts.add(firstName(name));
89           }
90           return firsts;
91       }
92   
93       private static String lastName(String directoryStyleName) {
94           int commaposition = directoryStyleName.indexOf(",");
95           return  directoryStyleName.substring(0,commaposition);
96       }
97   
98       private static List<String> lastNames(List<String> names) {
99           List<String> firsts= new ArrayList<>();
100          for (String name : names) {
101              firsts.add(lastName(name));
102          }
103          return firsts;
104      }
105  
106      public static List<String> upperCaseNames(List<String> names){
107          List<String> uppercases = new ArrayList<>();
108          for (String name : names){
109              uppercases.add(name.toUpperCase());
110          }
111          return uppercases;
112      }
113  
114      public static List<String> hyphenatedNames(List<String> names){
115          List<String> hyphenateds = new ArrayList<>();
116          for (String name : names){
117              if (name.contains("-")){
118                  hyphenateds.add(name);
119              }
120          }
121          return hyphenateds;
122      }
123  
124      public static int totalNameLength(List<String> names){
125          int totalLength = 0 ;
126          for (String name : names){
127              totalLength = totalLength + name.length();
128          }
129          return totalLength;
130      }
131          public static int totalNameProduct(List<String> names) {
132          int totalProduct = 1;
133          for (String name : names){
134              totalProduct = totalProduct * name.length();
135          }
136          return totalProduct;
137      }
138  
139  
140  
141  
142  
143  
144  
145  
146  
147  
148  
149  
150  
151  
152  
153  
154  
155  
156  }