List,Set,Map 모두 데이터를 모아 관리하는 Collection class를 상속받는 서브클래스이다.
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]
위와같이 결과값이 찍히는 걸 볼 수 있다.
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
위와같이 결과값이 찍히는 걸 볼 수 있다.
객체를 넣을 때 그 객체를 찾을 수 있는 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
위와같이 결과값이 찍히는 걸 볼 수 있다.