-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIntermediateOperationMain.java
More file actions
94 lines (81 loc) · 3.08 KB
/
Copy pathIntermediateOperationMain.java
File metadata and controls
94 lines (81 loc) · 3.08 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package stream.operation;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Stream;
public class IntermediateOperationMain {
public static void main(String[] args) {
List<Integer> numbers = List.of(1,2,3,4,5,6,7,8,9,10);
// 1. filter
System.out.println("1. filter - 짝수만 선택");
numbers.stream()
.filter(n -> n%2 ==0)
.forEach(n -> System.out.print(n + " "));
System.out.println();
System.out.println();
// 2. map
System.out.println("2. map - 각 숫자를 제곱");
numbers.stream()
.map(n -> n*n)
.forEach(n -> System.out.print(n + " "));
System.out.println();
System.out.println();
// 3. distinct
System.out.println("3. distinct - 중복 제거");
numbers.stream()
.distinct()
.forEach(n -> System.out.print(n + " "));
System.out.println();
System.out.println();
// 4. sorted (기본 정렬)
System.out.println("4. sorted - 기본 정렬");
Stream.of(1,2,3,8,5,6,1)
.sorted()
.forEach(n -> System.out.print(n + " "));
System.out.println();
System.out.println();
// 5. sorted (커스텀 정렬)
System.out.println("5. Sorted With Comparator - 내림차순 정렬");
Stream.of(1,2,3,8,5,6,1)
.sorted(Comparator.reverseOrder())
.forEach(n -> System.out.print(n + " "));
System.out.println();
// 6. peek
System.out.println("6. peek - 동작 확인용");
numbers.stream()
.peek(n -> System.out.print("before : " + n + ", "))
.map(n -> n*n)
.peek(n -> System.out.print("after : " + n + ", "))
.limit(5)
.forEach(n -> System.out.println("최종값 : " + n));
System.out.println();
// 7. limit
System.out.println("7. limit - 처음 5개 요소만");
numbers.stream()
.limit(5)
.forEach(n -> System.out.print(n + ", "));
System.out.println();
System.out.println();
// 8. limit
System.out.println("8. skip - 처음 5개 요소 건너뛰기");
numbers.stream()
.skip(5)
.forEach(n -> System.out.print(n + ", "));
System.out.println();
System.out.println();
List<Integer> numbers2 = List.of(1,2,3,4,5,1,2,3);
// 9. takeWhile
System.out.println("9. takeWhile - 5보다 작을 동안만 선택");
numbers2.stream()
.takeWhile(n -> n < 5)
.forEach(n -> System.out.print(n + ", "));
System.out.println();
System.out.println();
// 10. dropWhile
System.out.println("10. dropWhile - 5보다 작을 동안 건너뛰기");
numbers2.stream()
.dropWhile(n -> n < 5)
.forEach(n -> System.out.print(n + ", "));
System.out.println();
System.out.println();
}
}