sequence Kotlin

1. collection 시퀀스

다음과 같은 컬렉션 함수는 임시 컬렉션을 생성하게 됨

people.map{it.name}.filter{it.startsWith("A")}

성능을 높이고자 할 때 시퀀스를 사용할 수 있음
people.asSequence().map{it.name}.filter{it.startsWith("A")}.toList()

시퀀스 형식에서 별도로 컬렉션 함수를 제공하고 있어 시퀀스로 전환해 호출가능

asSequence(): 컬렉션을 시퀀스로
toList(): 시퀀스를 컬렉션 리스트로

인덱스가 필요한 경우엔 리스트로 변환해야 함

2. 비 컬렉션 시퀀스
var naturalNumbers = generateSequence(0) { it + 1 }
val numbersTo100 = naturalNumbers.takeWhile { it <= 100 }
println(numbersTo100.sum())

fun File.isInsideHiddenDirectory() = generateSequence(this) { it.parentFile }.any { it.isHidden }







덧글

댓글 입력 영역