|
StreamArrayListProcess.java
|
1 package arraylist;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.stream.Collectors;
6
7 public class StreamArrayListProcess {
8
9 public static void main(String[] args){
10 List<String> names = new ArrayList<>();
11 names.add("Holiday, Billie");
12 names.add("Claudel, Camille");
13 names.add("Picasso, Pablo");
14 names.add("Gallen-Kallela, Akseli");
15 names.add("Zotto, Osvaldo");
16 names.add("Mitchell, Raven");
17 names.add("Barnett, Jacob");
18 names.add("Schlegel, Daniel");
19
20 List<String> firstNamesList = names.stream()
21 .map(n -> firstName(n))
22 .collect(Collectors.toList());
23
24 System.out.println("First names: ");
25 for (String firstName : firstNamesList) {
26 System.out.println(firstName + "");
27 }
28
29 String firstNames = names.stream()
30 .map(n -> firstName(n))
31 .collect(Collectors.joining(", "));
32
33 System.out.println("First names: " + firstNames);
34
35 String lastNames = names.stream()
36 .map(n -> lastName(n))
37 .collect(Collectors.joining(", "));
38
39 System.out.println("Last names: " + lastNames);
40
41 String upperCaseFirstNames = names.stream()
42 .map(n -> firstName(n))
43 .map(n -> n.toUpperCase())
44 .collect(Collectors.joining(", "));
45
46 System.out.println("Uppercase first names: " + upperCaseFirstNames);
47
48 String hyphenatedLastNames = names.stream()
49 .map(n -> lastName(n))
50 .filter(n -> n.contains("-"))
51 .collect(Collectors.joining(", "));
52
53 System.out.println("Hyphenated first names: " + hyphenatedLastNames);
54
55 int totalLength = names.stream()
56 .map(n -> n.length())
57 .reduce(0, (n1, n2) -> n1 + n2);
58
59 System.out.println("Total length: " + totalLength);
60
61 int totalFirstLength= firstNamesList.stream()
62 .map(n -> n.length())
63 .reduce(0, (n1, n2) -> n1 + n2);
64
65 System.out.println("Total First Name length: " + totalFirstLength);
66
67 int totalProductLength = names.stream()
68 .map(n -> n.length())
69 .reduce(-1 , (n1, n2) -> (n1 * n2));
70
71 System.out.println("Total Product length: " + totalProductLength);
72 }
73
74 private static String firstName(String directoryStyleName) {
75 String firstName = directoryStyleName.substring(2 + directoryStyleName.indexOf(","));
76 return firstName;
77 }
78
79 private static String lastName(String directoryStyleName) {
80 String lastName = directoryStyleName.substring(0, directoryStyleName.indexOf(","));
81 return lastName;
82 }
83 }
84