코딩하는 일용직 노동자

코틀린 콜렉션 함수 정리 본문

안드로이드

코틀린 콜렉션 함수 정리

bacass 2020. 5. 22. 13:58
Kotlin Collections function


fun get(index: Int): E 
인덱스의 항목을 반환


fun clear()
모든 항목을 제거


fun indexOf(element: E): Int 
지정된 항목의 인덱스를 반환


fun isEmpty(): Boolean 
컬렉션이 비어있는지 반환 


fun contains(element: E): Boolean
지정된 항목이 컬렉션에 포함되어 있는지 반환


fun subList(fromIndex: Int, toIndex: Int): List<E>
시작 인덱스부터 끝 인덱스 -1 까지의 범위의 리스트를 반환


fun <T> Iterable<T>.all(predicate: (T)->Boolean): Boolean
모든 항목이 지정된 조건에 만족할 경우 true 반환
ex) list.all { it.startsWith("A") }  


fun <T> Iterable<T>.any(predicate: (T)->Boolean): Boolean
하나 이상의 항목이 지정된 조건에 만족할 경우 true 반환 
ex) list.any { it.startsWith("A") }


fun <T> Iterable<T>.asReversed(): List<T>
리스트를 역순으로 반환
ex) list.asReverseed()


fun <T> Colleection<T>.containsAll(element: Colleection<T>): Boolean 
지정된 컬렉션의 모든 요소가 리스트 내에 있는지 반환 
ex) list.containsAll( listOf("A", "B") ) // true


fun <T> Iterable<T>.take(count: Int): List<T>
첫번째 항목부터 count개의 항목을 반환
ex) list.take(2) // ["A", "B"]


fun <T> Iterable<T>.count(predicate: (T)->Boolean): Int 
지정된 조건과 일치하는 항목의 갯수를 반환
ex) list.count { it.startsWith("A") } 


fun <T> Iterable<T>.drop(count: Int): List<T>
처음 count개의 항목을 제외한 리스트를 반환 
ex) list.drop(2) // ["C", "D", "E"]


fun <T> Iterable<T>.dropLast(count: Int): List<T>
마지막 count개의 항목을 제외한 리스트를 반환 
ex) list.dropLast(2) // ["A", "B", "C"]


fun <T> Iterable<T>.filter(predicate: (T)->Boolean): List<T>
지정된 조건과 일치하는 항목을 포함하는 리스트를 반환 
ex) list.filter { it.startsWith("A") }


fun <T> Iterable<T>.filterNot(predicate: (T)->Boolean): List<T>
지정된 조건과 일치하지 않는 항목만 포함하는 리스트를 반환
ex) list.filterNot { it.startsWith("A") }


fun <T> Iterable<T>.find(predicate: (T)->Boolean): T?
지정된 조건과 일치하는 첫번째 항목을 반환. 일치하는 항목이 없으면 null 반환 
ex) list.find { it.startsWith("A") }


fun <T> Iterable<T>.findLast(predicate: (T)->Boolean): T?
지정된 조건과 일치하는 마지막 항목을 반환. 일치하는 항목이 없으면 null 반환 
ex) list.findLast { it.startsWith("A") }


fun <T> Iterable<T>.first(): T
첫번째 항목을 반환
ex) list.first()


fun <T> Iterable<T>.last(): T
마지막 항목을 반환
ex) list.last()


fun <T> Iterable<T>.forEach(action: (T)->Unit)
각 항목에 대해 지정된 작업을 수행 
ex) list.forEach { print("$it") }


fun <T> Iterable<T>.forEachIndexed(action: (T)->Unit)
각 항목에 대해 지정된 작업을 수행, 인덱스를 제공
ex) list.forEachIndexed { i, e -> print("$i, $e") }


fun <T, R> Iterable<T>.map(transform: (T) -> R): List<R>
각 항목에 대해 지정된 변환 함수가 적용된 결과 리스트를 반환 
ex) list.map { it + "!" }


fun <T, R> Iterable<T>.mapIndexed(transform: (index: Int, T) -> R): List<R>
각 항목에 대해 지정된 변환 함수가 적용된 결과 리스트를 반환, 인덱스를 제공
ex) list.mapIndexed { i, e -> e + "$i" }


fun <T : Comparable<T>> Iterable<T>.max(): T?
값이 가장 큰 항목을 반환. 항목이 없으면 null 반환 
ex) list.max()


fun <T : Comparable<T>> Iterable<T>.min(): T?
값이 가장 작은 항목을 반환. 항목이 없으면 null 반환 
ex) list.min()


fun <T> Iterable<T>.plus(element: T): List<T>
지정된 항목이 추가된 리스트를 반환. add() 와 다르게 새로운 리스트를 만들어서 반환
ex) list.plus( listOf("E", "F") ) // ["A", "B", "C", "D", "E", "F"]


fun <T> Iterable<T>.minus(element: T): List<T>
지정된 항목이 제외된 리스트를 반환. remove() 와 다르게 새로운 리스트를 만들어서 반환
ex) list.minus( listOf("E", "F") ) // ["A", "B", "C", "D"]


fun <T> Iterable<T>.shuffled(): List<T>
순서가 섞인 새로운 리스트를 반환


fun <T : Comparable<T>> Iterable<T>.sorted(): List<T>
Comparable 인터페이스에 구현된 순서대로 정렬된 리스트를 반환. sort() 와 달리 새로운 리스트를 반환