Stream 사용하기
- 생성하기
- 인스턴스 생성하기
- 종류
- 배열 - Arrays.stream 메소드를 사용한다.
- 컬렉션 - 컬렉션 타입인 Collection, List, Set 의 경우는 stream이 디폴트 메소드다.
- 요소가 없을 때 - Stream.empty()로 빈 스트림을 생성할 수 있다.
- builder() - 스트림에 원하는 값을 넣고 싶을 때 사용한다.
- generate() - 람다로 값을 넣을 때 사용한다. 크기는 무한하기 때문에 사이즈의 최대크기를 제한해야 한다.
- 이 외에도 많다.
- 가공하기
- Stream API를 이용하여 원하는 결과로 만드는 작업을 한다.
- filter - 스트림 내에 있는 요소를 평가를 해서 걸러낸다.
- map - 스트림 내에 있는 요소를 특정값으로 변환해준다.
- sorted - 정렬할 때 사용하는데 인자 없이 호출할 경우는 오름차순으로 정렬한다.
- 결과
- 최종작업으로 결과물을 만든다.
- Calculating - 합이나 평균, 최소, 최대 등의 기본형 타입으로 결과를 만들 수 있다.
- Reduction - 3가지의 파라미터를 받을 수 있고 파라미터 설정에 따라 결과값을 낸다.
- Collecting - Collector 타입을 받아서 결과물을 낸다. Collectors.toList(), Collectors.joining() 등이 있는데 굉장히 많아서 필요할 때마다 찾아서 적용하는 것이 좋다.
- Matching - 람다식을 이용해서 조건을 만족하는 요소가 있는지 체크하고 boolean 타입으로 그 결과를 리턴한다.
참고한 사이트
https://futurecreator.github.io/2018/08/26/java-8-streams/
'스터디일지 > JAVA' 카테고리의 다른 글
[2023.08.17] 자바 3주차 과제 - 계산기 만들기 (0) | 2023.08.17 |
---|---|
[2023.08.15 ~ 16] 자바 문법 3주차 강의 (0) | 2023.08.16 |
[2023.08.15] 자바 2주차 문법 강의 (0) | 2023.08.15 |
[2023.08.14] 자바 1주차 문법 강의 (0) | 2023.08.14 |
[2023.08.01] 자바 객체 지향 프로그래밍 (0) | 2023.08.01 |