Stream
스트림은 컬렉션, 배열 등의 요소를 하나씩 참조하며 반복 처리를 하는 것을 돕는 기능입니다.
스트림을 사용할 경우 for문, if문 등을 줄일 수 있습니다.
☁️ Stream의 특징
- 데이터를 변경하지 않는다.
- 일회용이다.
- 반복문이 내부에 숨어있다.
☁️ Stream의 findAny() 메소드
스트림에서 가장 먼저 탐색되는 요소를 리턴합니다.
ArrayList<String> list = Arrays.asList("a", "ab", "abc", "b", "c", "d");
Optional<String> result = list.stream().filter(s -> s.startsWith("a")).findAny();
System.out.println(result.get());
결과: a or ab or abc (실행할 때마다 결과 값이 달라집니다.)
❓ 왜 ❓ findAny()는 멀티 스레드가 스트림을 실행할 때 가장 먼저 찾은 요소를 리턴하기 때문입니다.
☁️ Stream의 findFirst() 메소드
스트림에서 첫 번째 요소를 찾아서 리턴합니다.
ArrayList<String> list = Arrays.asList("a", "ab", "abc", "b", "c", "d");
Optional<String> result = list.stream().filter(s -> s.startsWith("a")).findAny();
System.out.println(result.get());
결과 : a
Stream
스트림은 컬렉션, 배열 등의 요소를 하나씩 참조하며 반복 처리를 하는 것을 돕는 기능입니다.
스트림을 사용할 경우 for문, if문 등을 줄일 수 있습니다.
☁️ Stream의 특징
☁️ Stream의
findAny()메소드스트림에서 가장 먼저 탐색되는 요소를 리턴합니다.
결과:
aoraborabc(실행할 때마다 결과 값이 달라집니다.)❓ 왜 ❓
findAny()는 멀티 스레드가 스트림을 실행할 때 가장 먼저 찾은 요소를 리턴하기 때문입니다.☁️ Stream의
findFirst()메소드스트림에서 첫 번째 요소를 찾아서 리턴합니다.
결과 :
a