람다 : 익명함수
- 말 그대로 이름이 없는 함수로 일급 객체로 취급
- 함수를 값으로 사용 가능, 파라미터로 전달도 가능
- 변수에 대입하기와 같은 연산 가능
public int funtion (int x, int y) {
return x + y;
}
//람다
(x , y) -> x + y;
스트림
- 컬렉션의 반복을 처리하는데 초첨을 맞춘 인터페이스!
- 흐름이라는 뜻으로 자료구조의 흐름을 객체로 제공해주고 그 흐름동안 사용할 수 잇는 메서드들을 api로 제공
- 스트림의 특징
- 원본 데이터를 변경하지 않는다.
- 일회용이다.
- .filter - > 조건에 맞는 것만 반환
- .map -> 모든 요소를 가공해서 반환
- .forEach -> 모든 요소를 반환 가공은 x
- 스트림 생성
- 스트림 중개
- filter 조건에 맞는 것 반환
- map 각 요소를 연산하는데 사용
- peek map과 유사
- sorted 스트림의 요소들 정렬
- limit(int n) n만큼 개수 제한
- distinct 중복 제거
- skip(int n) n개의 요소는 제외하고 나머지 요소로 새로운 stream 생성
- 스트림 최종