Collection에서의 호출 체인을 보고합니다.
Collection을 변환하는 각 함수(예: map() 또는 filter())는 내부에서 새 Collection(보통 List 또는 Set)을 생성합니다.
여러 연속 호출의 경우 Collection에 대량의 항목이 있으면 메모리 트래픽이 크게 증가할 수 있습니다.
그럴 경우 Sequence를 사용하는 것이 좋습니다.
예:
class Entity(val key: String, val value: String)
fun getValues(lines: List<String>) = lines
.filter { it.isNotEmpty() }
.map { it.split(',', limit = 2) }
.filter { it.size == 2 }
.map { Entity(it[0], it[1]) }
빠른 수정에서는 호출 체인을 asSequence() 및 toList()로 래핑합니다.
class Entity(val key: String, val value: String)
fun getValues(lines: List<String>) = lines
.asSequence()
.filter { it.isNotEmpty() }
.map { it.split(',', limit = 2) }
.filter { it.size == 2 }
.map { Entity(it[0], it[1]) }
.toList()