-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFlatMappingExample.java
More file actions
36 lines (33 loc) · 1.47 KB
/
FlatMappingExample.java
File metadata and controls
36 lines (33 loc) · 1.47 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
32
33
34
35
36
package ch17.sec06.exam03;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class FlatMappingExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("this is java");
list1.add("i am best developer");
list1.stream()
// flatMap : T -> Stream<R> 변환
.flatMap(d -> Arrays.stream(d.split(" ")))
.forEach(System.out::println);
System.out.println();
List<String> list2 = Arrays.asList("10, 20, 30", "40, 50");
list2.stream()
// flatMapToInt : T -> IntStream 변환
.flatMapToInt(d -> {
String[] strArr = d.split(",");
System.out.println("strArr = " + Arrays.toString(strArr));
System.out.println("strArr.length = " + strArr.length);
// strArr의 길이만큼 intArr의 인덱스 생성
int[] intArr = new int[strArr.length];
System.out.println("intArr = " + Arrays.toString(intArr));
for (int i = 0; i < strArr.length; i++) {
intArr[i] = Integer.parseInt(strArr[i].trim());
}
return Arrays.stream(intArr);
}
)
.forEach(System.out::println);
}
}