sequence map과 Filter를 사용하게 되면 결과 컬렉션을 즉시(eager) 생성함 즉 컬렉션 함수를 연쇄하면 매 단계마다 계산 중간 결과를 새로운 컬렉션에 임시로 담는다. 위와 같이 map -> filter를 사용하면 리스트를 2개 만드는데 한 리스트는 filter 결과를 담고 다른 하나는 map의 결과를 담는다.
원소가 많아지면 효율이 떨어진다. asSequence()를 사용하면 중간 임시 컬렉션을 사용하지 않고 컬렉션 연산을 연쇄할 수 있음 java의 stream인 듯 sequence를 사용하면 중간 결과를 저장하는 컬렉션이 생기지 않기에 원소가 많아지면 성능이 기존에 비해서 좋아짐 JDK 8 이상이면 stream도 사용 가능 Sequence 인터페이스 장점 sequence 원소는 필요할 때 계산이 된다. 그렇기에 중간 처리 결과를 저장하지 않고도 연산을 연쇄적으로 적용해서 효율적으로 계산 수행 큰 컬렉션에 대해서 연산을 연쇄시킬 때는 시퀀스를 사용하는 것을 규칙으로 ...
#
apply
#
Kotlin
#
with