일반 함수 또는 람다 함수 형태를 사용하여 for 문 없이도 아이템을 순회하며 참조하거나 조건을 걸고 구조의 변경까지 가능한 여러가지 함수를 지칭한다.
예시를 통해 알아보자
// it으로 참조.
collection.forEach {
println(it)
}
// 조건에 맞는 원소만 다시 collection으로 만들어서 반환
collection.filter {
it < 4
}
// 원소들의 값을 일괄적으로 변경
collection.map {
it * 2
}
collection.any{ it == 0 } // 하나라도 조건에 맞으면 true
collection.all{ it == 0 } // 모두 조건에 맞으면 true
collection.none{ it == 0 } // 하나도 조건에 맞지 않으면 true
collection.first() // 첫번째 원소 반환
collection.first { it < 4 }// 조건에 맞는 첫번째 원소 반환
collection.last { it < 4 } // 조건에 맞는 마지막 원소 반환
collection.count() // 컬렉션의 모든 아이템의 갯수 반환
collection.count{ it > 7 } // 조건에 맞는 아이템의 갯수만 반환
그 외에도
Collection.associateBy { it.key(키로 사용할 속성) }
: 아이템에서 Key를 추출하여 Map으로 변환하는 함수
Collection.groupBy { it.key(키로 사용할 속성) }
: Key를 기준으로 value들을 묶어 Map으로 변환해주는 함수
var (trueGroup, falseGroup) = Collection.partition { 조건 }
: 조건에 따라 Collection을 나누어 Pair 클래스 객체에 담아 반환해주는 함수
collectionA zip collectionB
: 두 Collection을 1:1 로 매칭하여 Pair를 원소로 하는 collection을 반환,
원소의 수는 더 작은 컬랙션의 크기를 따라감