[android/kotlin] List, Set, Map

남윤희·2024년 1월 6일
0

kotlin

목록 보기
25/25

List,Set,Map 모두 데이터를 모아 관리하는 Collection class를 상속받는 서브클래스이다.

1. List

  • List는 순서대로 넣어 데이터를 관리하는 형태.

List,MutableList가 있는데,
List는 생성시에 넣은 객체를 수정할 수 없고,
mutable은 수정가능

List를 만들 때는
listOf(1,2,3) or mutableListOf("A","B","C")
로 생성.

mutableList에 추가할 땐
add(데이터) / add(인덱스,데이터)

삭제할 경우
remove(데이터) / removeAt(인덱스)

순서를 섞을 때
shuffle()

정렬 할 때
sort()

특정 요소를 다른 요소로 대체할 때
list[인덱스] = 데이터

예제


fun main() {
  val a = listOf("A","B","C")
  println(a[1])
  
  for (alphabet in a) {
      println("${alphabet}:")
  }

val b = mutableListOf(1,3,5)
println(b)
b.add(4)
println(b)

b.add(1, 9)
println(b)

b.removeAt(2)
println(b)

b.remove(9)
println(b)

b.shuffle()
println(b)

b.sort()
println(b)
}
B
A:
B:
C:
[1, 3, 5]
[1, 3, 5, 4]
[1, 9, 3, 5, 4]
[1, 9, 5, 4]
[1, 5, 4]
[5, 4, 1]
[1, 4, 5]

위와같이 결과값이 찍히는 걸 볼 수 있다.

2. Set

  • set은 순서가 정렬되지 않고 중복이 허용되지 않는 컬렉션.
    -인덱스로 위치를 지정하여 객체를 참조할 수 없다.
    -contains로 객체 존재 여부를 확인할 수 있다.

    Set과 Mutable 존재.

    요소의 추가 add(데이터)
    요소의 제거 remove(데이터)

    예제


fun main() {
    val a = mutableSetOf("A","B","C")
    
    for (alphabet in a) {
        println("${alphabet}")
    }
    
  a.add("F")
  println(a)
    
  a.remove("A")
  println(a)
  
  println(a.contains("B"))
  println(a.contains("A"))
}
A
B
C
[A, B, C, F]
[B, C, F]
true
false

위와같이 결과값이 찍히는 걸 볼 수 있다.

3. Map

  • 객체를 넣을 때 그 객체를 찾을 수 있는 key를 쌍으로 넣어주는 클래스.
    - MutableMap.MutableEntry (key,value) 식으로 이루어져 있어, index가 아니느 key를 참조하여야 한다.
    - 같은 키에 다른 value를 넣으면 기존의 객체가 대체됨

    mutable존재,

    추가 -> put(key,value)
    삭제 -> remove(key)

    예제

    
    fun main() {
      val a = mutableMapOf("A" to 0,
                          "B" to 1,
                           "C" to 2
                          )
      for(entry in a)
      {
          println("${entry.key} : ${entry.value}")
      }
      
      a.put("D",3)
      println(a)
      
      a.remove("A")
      println(a)
      
      println(a["C"])
    }
    A : 0
    B : 1
    C : 2
    {A=0, B=1, C=2, D=3}
    {B=1, C=2, D=3}
    2

    위와같이 결과값이 찍히는 걸 볼 수 있다.

profile
안드로이드 주니어 개발자

0개의 댓글