본문 바로가기
모바일/Kotlin

[Kotlin] 코틀린 Collection(List, Set, Map)

by drCode 2021. 3. 30.
728x90
반응형

안녕하세요

 

이번 포스팅은 코틀린에서의 콜렉션, List, Set, Map에 대해서 다뤄보도록 하겠습니다.

 

그 전에, collection은 두 가지 형태로 사용될 수 있습니다

수정될 수 있는 Collection과 수정될 수 없는 Collection이 있습니다

 

수정될 수 있는 컬렉션이 Mutable Collection, 수정될 수 없는  Collection이 Immutable Collection입니다.

 

※ Immutable Collection ( 변경 불가능한 컬렉션)

 

(1) List  => 리스트는 값의 중복을 허용합니다

val numberList = listOf<Int>(1,2,3, 3)
println(numberList)
println(numberList.get(0))
println(numberList[0])

 

(2) Set  => 중복을 허용하지 않고, 순서가 없습니다. 집합과 같은 개념입니다.

val numberSet = setOf<Int>(1,2,3,3,3)
println()
numberSet.forEach{
	println(it)
}

안드로이드 스튜디오에서는 forEach문을 사용하면  it이라는 변수를 안내합니다.

이 변수는 곧 numberSet의 요소들을 의미합니다.

 

(3) Map => Key, Value 방식으로 관리합니다.

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

 

※ Mutable Collection (변경 가능한 컬렉션)

 --> mutableListOf, mutableSetOf, mutableMapOf  이렇게 mutable 이 붙는다.

 

(1) Mutable List

val mnumberList = mutableListOf<Int>(1,2,3)
mnumberList.add(3, 4)
println()
println(mnumberList)

값을 넣을 땐 add(인덱스, 요소) 이렇게 넣으면 됩니다.

인덱스없이 그냥 요소만 넣으면 맨 마지막 인덱스에 값이 추가됩니다.

removeAt(인덱스)를 사용하면 해당 인덱스의 있는 값이 제거됩니다.

 

val a = mutableListOf<Int>(1,2,3)
a.add(4)
println(a)
a.add(0, 100)
println(a)
a.set(0, 200)
println(a)
a.removeAt(1)
println(a)

 

 

(2) Mutable Set

val mNumberSet = mutableSetOf<Int>(1,2,3,4,4,4,4)
mNumberSet.add(10)
println(mNumberSet)
val b = mutableSetOf<Int>(1,2,3,4)
b.add(2)
println(b)
b.remove(2)
println(b)
b.remove(100)
println(b)

 

 

(3) Mutable Map

val mNumberMap = mutableMapOf<String, Int>("one" to 1)
mNumberMap.put("two", 2)
println(mNumberMap)
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
반응형

댓글