Skip to content

[QnA] 169페이지 하단. findFirst와 findAny는 언제 사용하나? 부분 #49

Discussion options

You must be logged in to vote

제가 책을 읽고 이해한 내용은
findFirst 는 병렬스트림과 순차스트림 둘 다 사용할 수 있고, 또 둘 다 같은 결과(스트림의 첫 번째요소)를 반환합니다. (순차와 병렬 둘 다 반환 순서 보장 O)
findAny는 병렬스트림과 순차스트림에서 무조건 결과를 찾는 즉시 그 값을 반환하기 때문에, 시간 비용이 효율적이라고 생각합니다. (순차와 병렬 둘 다 반환 순서 보장 X)

그래서 스트림의 논리적인 아이템 순서가 정해져있고 반환 순서가 중요한 경우는 비용이 더 들더라도 findFirst 를 사용하고(하지만 병렬 처리에서는 권장하지 X) , 그렇지 않은 경우에는 findAny 를 사용하는게 좋다.
라고 이해했습니다.

  1. stream 은 순차적 처리와 병렬 처리가 있고,
    병렬 처리를 하기 위해서는 parallel(), parallelStream() 을 사용해야만 병렬 처리 된다고 이해했습니다.

Replies: 2 comments

Comment options

You must be logged in to vote
0 replies
Answer selected by Youngju-Jang
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants