[java] Stream.collect(toList()) vs Stream.toList()

Future·2024년 7월 23일
0

java

목록 보기
11/13

toList()로 바꿀 수 있다고 한다.
좀 더 알아보자

Stream.collect(Collectors.toList())

collect(Collectors.toList())로 반환된 리스트는 일반적으로 mutable (변경 가능)하다.
보통 ArrayList를 반환한다.

따라서, 수정이 가능하다.

Stream.toList()

toList()로 반환된 리스트는 immutable (변경 불가)하다.
UnmodifiableList를 반환한다.

따라서, 수정이 불가능하다. 삽입, 삭제가 안된다는 말이다.
만약, 해당 해당 리스트를 수정하려 하면 UnsupportedOperationException 예외가 발생한다.

결론

리스트 반환 후 수정이 필요한 상황에서는 Stream.collect(Collectors.toList()),
수정이 필요하지 않은 상황에서는 Stream.toList()를 사용하자.

profile
Record What I Learned

0개의 댓글