-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathO8Flatmap.java
More file actions
33 lines (28 loc) · 1.06 KB
/
O8Flatmap.java
File metadata and controls
33 lines (28 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
public class O8Flatmap {
public static void main(String[] args) {
List<Utvikler> utviklere = Arrays.asList(
new Utvikler("Arne", Arrays.asList("Java", "Python", "JavaScript")),
new Utvikler("Carlos", Arrays.asList("Java", "JavaScript")),
new Utvikler("Zuckerberg", Arrays.asList("PHP", "JavaScript")),
new Utvikler("Gates", Arrays.asList("BASIC", "C"))
);
// Få en liste over alle språkene folk i bedriften kan
System.out.println(utviklere.stream()
.map(utvikler -> utvikler.spraak)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList()));
}
static class Utvikler {
public final String navn;
public final List<String> spraak;
Utvikler(String navn, List<String> spraak) {
this.navn = navn;
this.spraak = spraak;
}
}
}