1. 두 Predicate를 하나로 결합 : and(), or(), negate()
Predicate<Integer> p = i -> i < 100;
Predicate<Integer> q = i -> i < 200;
Predicate<Integer> r = i -> i % 2 == 0;
Predicate<Integer> notP = p.negate();
Predicate<Integer> all = notP.and(q).or(r);
Predicate<Integer> all2 = notP.and(q.or(r));
2. 컬렉션 프레임워크 메서드
2-1. List
- foreach
- removeIf
- replaceAll
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9));
list.forEach(i -> System.out.print(i + ", "));
System.out.println();
list.removeIf(x -> x % 2 == 0);
System.out.println(list);
list.replaceAll(i -> i*10);
System.out.println(list);
1, 2, 3, 4, 5, 6, 7, 8, 9, [1, 3, 5, 7, 9] [10, 30, 50, 70, 90] |
2-2. Map
- foreach
Map<String, String> map = new HashMap<>();
map.put("a1", "a2");
map.put("b1", "b2");
map.put("c1", "c2");
map.put("d1", "d2");
map.forEach((k, v) -> System.out.println(k + " : " + v));
a1 : a2 d1 : d2 c1 : c2 b1 : b2 |
'공부 > Java' 카테고리의 다른 글
스트림(Stream) - 1 (0) | 2022.03.08 |
---|---|
람다식 -> 메서드 참조 (0) | 2022.03.01 |
java.util.function 패키지 (함수형 인터페이스) (0) | 2022.03.01 |
함수형 인터페이스 (0) | 2022.03.01 |
람다식 (Lambda Expression) (0) | 2022.03.01 |
댓글