Stream 간단하게 정리

코딩테스트 문제를 풀면서 stream을 많이 쓰게 되면서

stream에 대해서 간단하게 정리를 해야겠다는 생각이 들었다.

stream 왜 쓰는가?

스트림은 배열이나 컬렉션(List, Set, Map)으로 원하는 값을 얻을 때

for문 도배를 방지하기 위해 나온 개념이다.

스트림은 선언, 가공, 반환 세 부분으로 이뤄진다.

보통 람다랑 많이 쓰인다. 
(람다란? (파라미터) -> {코드}의 구조)

선언

배열, 컬렉션(list, set, map) 등을 스트림 형태로 만든다.

Arrays.stream(배열명).가공메서드();

리스트명.stream().가공메서드();

가공

스트림을 필요한 형태로 가공한다.

반환

가공한 값을 원하는 형태로 가져온다.

배열의 경우에는 .toArray();

컬렉션(List, Set, Map)의 경우

.collect(Collectors.toList()); 에서 List만 Set, Map으로 바꿔주면 된다.