StreamArrayListProcessing.java
|
1 package arraylistplay;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.stream.Collectors;
6
7 public class StreamArrayListProcessing {
8 public static void main(String[] args) {
9 List<String> names = new ArrayList<>();
10 // Part A
11 names.add("Holiday, Billie");
12 names.add("Claudel, Camille");
13 names.add("Picaso, Pablo");
14 names.add("Gallen-Kallela, Akseli");
15 names.add("Zotto, Osvaldo");
16 names.add("Ross, Bob");
17 names.add("Rogan, Joe");
18 // Part B
19 List<String> firstNamesList = names.stream()
20 .map(n -> firstName(n))
21 .collect(Collectors.toList());
22 System.out.print("First names: ");
23 for (String firstName : firstNamesList){
24 System.out.print(firstName + " ");
25 }
26 System.out.println();
27 // Part C
28 String firstNames = names.stream()
29 .map(n -> firstName(n))
30 .collect(Collectors.joining(", "));
31 System.out.println("First names: " + firstNames);
32 // Part D
33 String lastNames = names.stream()
34 .map(n -> lastName(n))
35 .collect(Collectors.joining(", "));
36 System.out.println("Last names: " + lastNames);
37 // Part E
38 String upperCaseFirstNames = names.stream()
39 .map(n -> firstName(n))
40 .map(n -> n.toUpperCase())
41 .collect(Collectors.joining(", "));
42 System.out.println("Uppercase first names: " + upperCaseFirstNames);
43 // Part F
44 String hyphenatedLastNames = names.stream()
45 .map(n -> lastName(n))
46 .filter(n -> n.contains("-"))
47 .collect(Collectors.joining(", "));
48 System.out.println("Hypenated Last Names " + hyphenatedLastNames);
49 // Part G
50 int totalLength = names.stream()
51 .map(n -> n.length())
52 .reduce(0, (n1, n2) -> n1 + n2);
53 System.out.println("Total length: " + totalLength);
54 // Part H
55 int FirstLength = names.stream()
56 .map(n -> firstName(n))
57 .map(n -> n.length())
58 .reduce(0,(n1,n2) -> n1 + n2);
59 System.out.println("First Names length: " + FirstLength);
60 // Part I
61 int ProductLength = names.stream()
62 .map(n -> n.length())
63 .reduce(1,(n1,n2) -> n1 * n2);
64 System.out.println("Product of Names: " + ProductLength);
65
66 }
67 private static String firstName (String directoryStyleName) {
68 int directoryStyleNameComma = directoryStyleName.indexOf(",");
69 int directorylength = directoryStyleName.length();
70 directoryStyleName = directoryStyleName.substring(directoryStyleNameComma + 1, directorylength);
71 return directoryStyleName;
72 }
73 private static String lastName (String directoryStyleName2){
74 int directoryStyleNameComma = directoryStyleName2.indexOf(",");
75 directoryStyleName2 = directoryStyleName2.substring(0, directoryStyleNameComma);
76 return (directoryStyleName2);
77 }
78 }
79
80