-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
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
sonsy0929
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation