개발자 끄적끄적
map, distinct, filter, sorted, reduce, collect 본문
<map()>
- 출력 시 모두 대문자로 출력하고자 할 때 등과 같이 출력 컬렉션을 매핑하거나
변경할 때 사용
<distinct()>
- 스트림내에 있는 값들 중 중복값을 제거한다
<filter()>
- 컬렉션에 있는 데이터를 조건에 맞는 것만을 골라낼 수 있다
- filter 메서드는 boolean 결과를 리턴하는 람다표현식이 필요하다
<sorted()>
- 컬렉션의 값들을 정렬하여 출력
<match()>
- 컬렉션의 조건들이 특정 조건에 만족하는 지 조사한다
[종류]
- allMatch() : 모든 조건이 만족할 때 참
- anyMatch() : 하나의 조건만 만족해도 참
- noneMatch() : 모든 조건이 만족하지 않으면 참
ex)
List<Integer> list = Arrays.asList(6,5,8,9,4,3,2,1,7);
boolean b1 = list.stream().allMatch(x -> x%2==0);
System.out.println("모두 짝수인가 ? " + b1); // false
Stream stream = list.stream();
boolean b2 = list.stream().allMatch(x -> x<10);
System.out.println("모두 10 보다 작은가 ? " + b2); // true
<reduce()>
- 스트림내부의 값을 변경하지 않고 다양한 형태로 집계할 수 있는 기능
ex)
Stream<Integer> stream = Stream.of(1,2,3,4,5);
Optional<Integer> opt = stream.reduce((x,y)->x+y);
opt.ifPresent(s -> System.out.println(s));
<collect()>
- 컬렉션에 저장된 데이터를 특정 기준에 따라 분류하여 새로운 Collection으로 반환
ex)
Integer[] su = {1,2,3,4,5,6,7,8,9};
List<Integer> list = Arrays.stream(su).filter(x->x>5)
.collect(Collectors.toList());
list.stream().forEach(x -> System.out.println(x));
'JAVA' 카테고리의 다른 글
람다식, 스트림(Stream) (0) | 2023.03.04 |
---|---|
Properties, Thread - (2) (0) | 2023.03.04 |
Properties, Thread - (1) (0) | 2023.03.04 |