🎨 Programming/Android(Kotlin)

[Kotlin] 5. 컬렉션(Collection)

ryang x2 2020. 12. 1. 01:43
728x90
반응형

# Collection 

list, set, map  종류가 3가지 존재하며 모두 Immutable Collerction (불변)

 

 

● list 만들기 

- 중복을 허용한다.

 

예시 )

fun main(args:Array<String>){
    val numberList = listOf<Int>(1, 2, 3, 4)
    println(numberList)
    println(numberList.get(0))
    println(numberList[0])
}

 

 

● set 만들기 

- 중복을 허용하지 않는다

- 순서가 없다.

 

예시 )

fun main(args:Array<String>){

    val numberSet = setOf<Int>(1, 2, 3, 3, 3)
    println()
    numberSet.forEach{
        println(it)  // it 는 내가 원하는데로 변수를 이름 지으면 된다.
    }
    
}

 

● map 만들기 

-  key, value 방식으로 관리 

 

예시 )

fun main(args:Array<String>){

    val numberMap = mapOf<String, Int>("one" to 1, "two" to 2)
    println()
    println(numberMap.get("one"))
    
}

 

 

● Mutable Collection(변경) 

 

예시 1)

fun main(args:Array<String>){
    val mNumberList = mutableListOf<Int>(1, 2, 3)
    mNumberList.add(2, 3)
    mNumberList.add(3,4)
    println()
    println(mNumberList)
}

 

예시 2)

fun main(args:Array<String>){

    val mNumberSet = mutableSetOf<Int>(1, 2, 3, 4, 4, 5, 6, 7)
    mNumberSet.add(10)
    println(mNumberSet)
    
}

 

예시 3) 추가하기 / 인덱스 지정해서 추가하기 / 지우기

fun main(array: Array<String>){
    val a = mutableListOf<Int>(1, 2, 3)
    a.add(4)
    println(a)
    a.add(0, 100)
    println(a)
    a.removeAt(2)
    println(a)
}

 

예시 4) 

fun main(array: Array<String>){
    val b = mutableSetOf<Int>(1, 2, 3, 4)
    println()
    b.add(2)
    println(b)
    b.remove(2)
    println(b)
    b.remove(100)
    println(b)
}

 

예시 5)

fun main(array: Array<String>){

    val c = mutableMapOf<String, Int>("one" to 1)
    println()
    c.put("two", 2)
    println(c)
    c.replace("two", 3)
    println(c)
    println(c.keys)
    println(c.values)
    c.clear()
    println(c)
    
}

 

728x90
반응형