본문 바로가기
2학년 2학기/모바일 소프트웨어 - 코틀린

Array, Generic, Collection) List

by kkkkk1023 2024. 10. 13.

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