Collection이란 여러 원소들의 모음이다.
List는 순서가 있는 원소들의 모음이다. 즉, 인덱싱이 가능하다.
불변 List - listOf<T>()
[List와 관련된 표준 라이브러리들]
val strList: List<String> = listOf("red", "green", "blue")
size
println(strList.size) //3
first, last
println("${strList.first()}, ${strList.last()}") //red, blue
map
println(strList.map { it.length }) //[3, 5, 4]
// 각 원소들의 길이 출력, map은 순환하는 것
filter
println(strList.filter { it.length > 3 }) //[green, blue]
//조건식의 참인 요소만 출력
contains
println(strList.contains("yellow")) //false
none
println(strList.none { it.length < 3 }) // true
//조건식에 해당하는 요소가 하나도 없으면 true
any
println(strList.any { it.length < 3}) //false
//조건식에 해당하는 요소가 하나라도 있으면 true
[List의 인덱싱]
val strList: List<String> = listOf("red", "green", "blue")
println(strList[1]) //green
println(strList.get(2)) //blue
println(strList.indexOf("red")) //0
이 처럼 불변 리스트는 수정보다는 값을 찾는 것에 집중되어 있다. 하지만 가변 리스트는 원소를 추가하고 삭제할 수 있다.
불변 List - mutableListOf()
리스트 요소 추가
val list: MutableList<Int> = mutableListOf(1, 2, 3, 4, 5) //불변 리스트 생성
list.add(6)
list.add(7)
list.apply { //원소 값 추가
add(6)
add(7)
}
println(list) //[1, 2, 3, 4, 5, 6, 7]
리스트 요소 변경
list.set(0, 88)
list[1] = 99 // 제일 많이 사용
println(list) // [88, 99, 3, 4, 5, 6, 7]
리스트 요소 삭제
list.removeAt(2)
println(list) //[88, 99, 4, 5, 6, 7]
'2학년 2학기 > 모바일 소프트웨어 - 코틀린' 카테고리의 다른 글
Array, Generic, Collection) Map (0) | 2024.10.13 |
---|---|
Array, Generic, Collection) Set (0) | 2024.10.13 |
Array, Generic, Collection) Generic (0) | 2024.10.13 |
1~5장 교수님 블로그 (1) | 2024.10.12 |
it과 this (2) | 2024.10.12 |