기록
[코틀린/Kotlin] 컬렉션 함수 - 1 본문
반응형
컬렉션에 사용할 수 있는 유용한 함수들을 알아보자.
여태까지 컬렉션을 for문으로 반복하여 포함된 아이템을 하나하나 꺼내어 사용했었다.
코틀린은 함수형 언어의 특징을 갖고 있기 때문에 컬렉션 함수를 사용하여 좀 더 편리하게 컬렉션을 사용할 수 있다.
컬렉션 함수 : list나 set, map과 같은 컬렉션 또는 배열에 일반 함수 또는 람다 함수 형태를 사용하여 for문 없이도 아이템을 순회하여 참조하거나 조건을 걸고, 구조의 변경까지 가능한 여러가지 함수를 지칭한다.
fun main() {
val nameList = listOf("박수영", "김지수", "김다현", "신유나", "김지우")
//중괄호 안에서 컬렉션에 포함된 모든 아이템을 it 변수로 순서대로 참조한다.
nameList.forEach{ print(it + " ") }
println()
//중괄호 안에서 it에 조건을 걸어주면 조건에 맞는 객체만 다시 컬렉션으로 만들어 반환한다.
println(nameList.filter({ it.startsWith("김") }))
//중괄호 안에서 it에 수식을 적용하여 값을 변경하면 다시 컬렉션으로 만들어 반환한다.
println(nameList.map{ "이름 : " + it })
//하나라도 조건에 맞으면 true
println(nameList.any{ it == "김지연" })
//모두 조건에 맞으면 true
println(nameList.all{ it.length == 3 })
//하나도 조건에 맞지 않으면 true
println(nameList.none{ it.startsWith("이") })
//조건에 맞는 첫번째 객체 반환 (find로 대체 가능, firstOrNull)
println(nameList.first({ it.startsWith("김") }))
//조건에 맞는 마지막 객체 반환 (findLast로 대체 가능, lastOrNull)
println(nameList.last({ it.startsWith("김") }))
//조건에 맞는 아이템 개수 반환
println(nameList.count{ it.contains("지") })
}
컬렉션 함수를 사용하면 반복문과 조건문을 사용하는경우를 대부분 대체할 수 있다.
컬렉션 함수는 람다함수를 사용하여 컬렉션을 좀 더 편리하게 조작할 수 있는 장점을 가진 함수이다.
경우에 따라 반복문과 조건문 대신 사용하면 편리하다.
https://www.youtube.com/watch?v=q7GV68jKLVM&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=27
위 강의를 보면서 개인적으로 공부한 내용을 정리하였습니다.
반응형
'[Study] > Kotlin' 카테고리의 다른 글
[코틀린/Kotlin] 변수의 고급 기술. 상수, lateinit, lazy (0) | 2022.05.11 |
---|---|
[코틀린/Kotlin] 컬렉션 함수 - 2 (0) | 2022.05.10 |
[코틀린/Kotlin] 컬렉션 2탄 - Set과 Map (0) | 2022.05.10 |
[코틀린/Kotlin] Data Class와 Enum Class (0) | 2022.05.10 |
[코틀린/Kotlin] 중첩클래스와 내부클래스 (0) | 2022.05.10 |