Stream 간단하게 정리
코딩테스트 문제를 풀면서 stream을 많이 쓰게 되면서
stream에 대해서 간단하게 정리를 해야겠다는 생각이 들었다.
stream 왜 쓰는가?
스트림은 배열이나 컬렉션(List, Set, Map)으로 원하는 값을 얻을 때
for문 도배를 방지하기 위해 나온 개념이다.
스트림은 선언, 가공, 반환 세 부분으로 이뤄진다.
보통 람다랑 많이 쓰인다.
(람다란? (파라미터) -> {코드}의 구조)
선언
배열, 컬렉션(list, set, map) 등을 스트림 형태로 만든다.
Arrays.stream(배열명).가공메서드();
리스트명.stream().가공메서드();
가공
스트림을 필요한 형태로 가공한다.
반환
가공한 값을 원하는 형태로 가져온다.
배열의 경우에는 .toArray();
컬렉션(List, Set, Map)의 경우
.collect(Collectors.toList()); 에서 List만 Set, Map으로 바꿔주면 된다.