-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFilterMainV2.java
More file actions
31 lines (23 loc) · 934 Bytes
/
Copy pathFilterMainV2.java
File metadata and controls
31 lines (23 loc) · 934 Bytes
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
package lambda.lambda5.filter;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
public class FilterMainV2 {
public static void main(String[] args) {
List<Integer> numbers = List.of(1,2,3,4,5,6,7,8,9,10);
Predicate<Integer> isEvenNumber = i -> i%2 == 0;
// 짝수만 거르기
List<Integer> evenNumbers = filter(numbers, i -> i % 2 ==0 );
System.out.println("evenNumbers = " + evenNumbers);
// 홀수만 거르기
List<Integer> oddNumber = filter(numbers, i -> i % 2 == 1);
System.out.println("oddNumber = " + oddNumber);
}
private static List<Integer> filter(List<Integer> numbers, Predicate<Integer> predicate) {
List<Integer> filtered = new ArrayList<>();
for (Integer number : numbers) {
if(predicate.test(number)) filtered.add(number);
}
return filtered;
}
}