언어/Kotlin

[Kotlin] 컬랙션

implement 2023. 4. 21. 12:00
728x90

배열

생성

arrayOf() 사용하여 배열 반환

val name = arrayOf<타입> (요소1, 요소2, 요소3, ...)

val name = arrayOf(요소1, 요소2, 요소3, ...)	
//Kotlin은 유형추론 사용하므로 유형 생략해도 됨

액세스

name[index]

 

목록

list : 순서가 지정된 읽기 전용 컬렉션

mutableList : 요소 추가 및 삭제와 같이 목록을 수정하는 메서드를 정의하여 list 인터페이스 확장

 

생성

listOf() 함수 사용하여 list 반환

val name = listOf(요소1, 요소2, 요소3, ...)

액세스

name[index]
name.get(index)

//인덱스 반환
name.indexOf(요소)
//없으면 -1 반환

추가

name.add(요소)
name.add(삽입할index, 요소)

삭제

name.removeAt(index)
name.remove(요소)

 

세트

속성

1. 세트에서 특정 요소 검색하는 경우 매우 빠름. list의 각 요소를 처음부터 끝가지 확인해야 하지만 set의 경우에는 요소가 세트에 있는지 확인하기만 하면 됨.

2. 같은 양의 데이터에 목록보다 더 많은 메모리를 사용하는 경향이 있음.

 

MutableListList와 마찬가지로 SetMutableSet이 있음. MutableSet은 Set을 구현.

생성

mutableSetOf() 함수 사용하여 MutableSet 반환

val name = mutableSetOf(요소1, 요소2, 요소3, ...)

액세스

//세트의 크기 반환
name.size

//세트에 요소 유무 반환
name.contains(요소)

추가

name.add(요소)

삭제

name.remove(요소)

 

Map은 키와 값으로 구성된 컬렉션.

 

생성

mapOf() 또는 mutableMapOf()함수를 선언하여 생성

val name = mutableMapOf<keyType, valueType>(
    key1 to value1,
    key2 to value2,
    key3 to value3,
)

//유형추론으로 유형 생략 가능
val name = mapOf(
    key1 to value1,
    key2 to vlaue2,
)

액세스

//맵의 크기 반환
name.size

//값 반환 (없으면 null 반환)
name[key]

추가

name.put(키, 값)

삭제

name.remove(키)

 

반응형