아래의 글은 드미트리 제메로프, 스베트라나 이사코바 저/오현석역,『Kotlin in Action』,에이콘출판사(2017)의 내용을 기반으로 작성하였습니다.
함수 | 동작 | 예제 |
filter | 필터 | |
map | 변환 | |
all | 모든 원소 만족? | |
any | 만족 원소 하나라도 존재? | |
count | 원소 수 (숫자만 카운드 함) | |
find | 만족하는거 하나 findAny | |
size | 원소를 만들어서 최종 size | |
groupBy | 맵으로 변경 | |
flatMap | 하위 리시트의 단일 리스트로 변환 | |
flatten | 하위 리스트의 단일 리스트 그래도 반환 |
지연 연산
sequence 사용
map > filter > : 매번 리스트가 생성되어 자원 낭비
list.asSequence().map().filter().toList()
// 원소의 sequence만 반환
시퀀스 만들기
// initial 0 incre 1
val naturalNumbers = generateSequence(0) { it + 1 }
// 0 to 100
val numbersTo100 = naturalNumbers.takeWhile( it <= 100 }
fun File.isInsideHiddenDirectory() =
generateSequence(this) { it.parentFile }.any { it.isHidden }
val file = File("/Users/.HiddenDir/a.txt")
println(file.isInsideHiddenDirectotry()}
'독서관련 > Kotlin in Action' 카테고리의 다른 글
CH06 코틀린 타입 시스템 (0) | 2021.01.10 |
---|---|
CH05 코틀린 람다 함수형 인터페이스 (0) | 2021.01.06 |
CH05 코틀린 람다 (0) | 2021.01.05 |
CH04 코틀린 data 클래스 (0) | 2021.01.03 |
CH04 코틀린 클래스 객체 인터페이스 (0) | 2021.01.03 |