
𝑷𝒓𝒐𝒈𝒓𝒂𝒎𝒎𝒊𝒏𝒈/𝐽𝐴𝑉𝐴
[JAVA] Stream API 살펴보기 - findFirst() vs findAny() + 병렬 처리
REST API를 공부하는데, 한 아이디에 관련된 Task를 가져오는 getTask 메소드를 만들었고, Task를 가져오기 위해 stream() 을 사용해 해당 id를 필터링 후 findFirst() 메소드를 사용하였다. 그런데 findAny()를 사용하지 않은 이유에 대해 질문이 들어왔고, 이에 대해 공부한 내용을 정리하고자 한다. findFirst() stream에서 가장 첫번째 값의 Optional을 반환하고, stream이 비어있을 경우에는 empty Optional을 반환한다. 만약 stream에 따로 순서가 없을 경우에는 무작위의 (any element) Optional을 리턴한다. findAny() stream의 '일부' 요소를 기술하는 Optional 값을 반환하고, stream이 비어있는..