안드로이드 앱(Kotlin|Java)/[2025~] 안드로이드 앱

Part0_Ch01_07 컬렉션 ( list, map, set )

heylo 2025. 1. 24. 17:39

 

컬렉션은 mutable과 immutable 2가지 종류가 있고

기본적으로 immutable 임

함수가 많은 for문을 없애주어 생산성을 높여줄 것

 

 

1) list

fun main() {
    // 1) list
    // 자바에서는 리스트 값을 추가하거나 변경할 수 있음
    // 코틀린에서는 값 추가/변경 가능한 리스트, 불가능한 리스트 2가지 종류가 있다.
    // mutable, immutable

    // 값 추가/변경 가능한 리스트, mutable list
    val list1 = mutableListOf(1, 2, 3, 4, 5)
    list1.add(6)
    list1.addAll(listOf(7,8,9))

    // 값 추가/변경이 불가능한 리스트, immutable list
    val list2 = listOf(1, 2, 3, 4)

    // 다양한 타입 가질 수 있음
    val diverseList = listOf(1, 3.3, "안녕", true)

    // 값 가져오기
    list1.get(0)
    list1[0]

    // 객체를 참조하는 주소값을 출력
    println(list1)

    // 리스트 순회
    println(list1.joinToString(separator=","))

    // 강력한 확장함수들을 제공하여
    // 반복문을 사용할 일이 많이 줄었음
    list1.map{it * 10} // list1 의 모든 원소에 10을 곱해줘

2) map

fun main() {
    // 2) map ( key 와 value )
    val map1 = mapOf((1 to "안녕"), (2 to "잘가"))
    val map2 = mutableMapOf((1 to "안녕"), (2 to "잘가"))

    // 값 추가 ( index operator 사용 )
    map2.put(3, "내일 봐")
    map2[10] = "응"

}

3) set

// set 은 설명 없이 끝이 남
// 알아서 찾아보기