스트림은 자바8부터 추가된 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자입니다. Iterator와 비슷한 역할을 하지만 람다식으로 요소 처리 코드를 제공하여 코드가 좀 더 간결하게 할 수 있다는 점과 내부 반복자를 사용하므로 병렬처리가 쉽다는 점에서 차이점이 있습니다.
java.utill.stream 패키지를 import 해서 사용 할 수 있다.
stream 패키지 안에는 여러가지 stream class가 있다.
오늘 알고리즘 기초 문제를 처음 풀어보다가, 다른 사람들이 푼 코드를 보며 IntStream 이라는 걸 처음 보았다. 그리고 IntStream에 대해 찾아보다가 stream에 대해 알게되었다.
여러가지 많은 기능들을 하지만ㅠ지금의 나로써는 전부 이해할 수 없어서 , 오늘은 알고리즘 코드에서 보게된 IntStream에 대해서만 가볍게 적어보겠다.
stream class 중 기본형 스트림.
여러 메소드가 있지만, 지금은 of , range , rangeClosed 만 기록하겠다.
of => IntStream.of(1,2,3,4,5) ->
IntStream.of(1,2,3,4,5).forEach(System.out::println);
12345 가 출력된다.
range ⇒ IntStream.reange(1,5) →
IntStream.range(1, 5).forEach(System.out::println);
1234 가 출력된다. 앞 숫자 이상 뒷 숫자 미만으로 출력됨!
rangeClosed => IntStream.rangeClosed(1,5) ->
IntStream.rangeClosed(1,5).forEach(System.out::println);
12345 가 출력된다. 앞 숫자 이상 뒷 숫자 이하로 출력됨!
.forEach(System.out::println); => 람다식출력.
https://futurecreator.github.io/2018/08/26/java-8-streams/
https://wickies.tistory.com/14
이렇게 잘 정리해주시는 분들께 참 감사하다. 👍