Kotlin 콜랙션(Collection)
Java에는 컬렉션 프레임워크가 있는 것처럼 Kotlin에도 컬렉션 프레임워크가 있다. Kotlin의 컬렉션 프레임워크는 읽기만(read-only,immutable) 가능한 컬렉션과 읽기/쓰기(mutable, read/write)가 가능한 컬렉션이 있다.
Collection & MutableCollection
kotlin.collection.Collection
인터페이스이다.
interface Collection<out E> : Iterable<E>
E
는 Collection의 요소이다. 이 인터페이스는 읽기만 지원한다.
읽기/쓰기는 MutableCollection
인터페이스에서 지원한다.
interface MutableCollection<E> : Collection<E>, MutableIterable<E>
E
는 Collection
의 요소아다.
List & MutableList
List
인터페이스는 Collection 인터페이스를 상속하고 있다.
interface List<out E> : Collection<E>
E
는 Collection
의 요소이다. 이 인터페이스는 List
의 읽기만 지원한다.
읽고 쓰기는 MutableList
인터페이스에서 지원한다.
interface MutableList<E> : List<E>, MutableCollection<E>
E는 컬렉션의 요소. 요소 추가/삭제 기능을 제공하는 인터페이스.
배열 및 목록 생성
배열은 Array 클래스으로 인스턴스를 생성한다. 다음과 같은 형식으로 배열을 만든다.
Array<타입명>(요수 갯수) {초기 처리}
List<타입명>(요수 갯수) {초기 처리}
간단한 구현 예제를 보도록 하겠다.
fun main() {
val evenNumbers = Array(10) { it * 2 }
for (n in evenNumbers) {
println(n)
}
}
Output:
0
2
4
6
8
10
12
14
16
18
위 예제는 짝수를 선언하고 있다.
생성 표준 라이브러리
array
, listOf
, arrayListOf
, linkedListOf
배열 및 목록 선언은 코틀린 표준 라이브러리로 다음 함수를 제공한다.
arrayOf
Array
인스턴스를 간편하게 생성한다.
listOf
:java.util.List
를 생성한다.- 요소를 변경할 수 없다.
arrayListOf
java.util.ArrayList
인스턴스를 생성한다.- Java와 마찬가지로 추가, 삭제 등이 가능하다.
linkedListOf
java.util.LinkedList
인스턴스를 생성한다.- Java와 마찬가지로 추가, 삭제 등이 가능하다.
val oddNumbers = arrayOf(1, 3, 5, 7, 9)
val list = listOf(1,2,3,4,5)
val arrayList = arrayListOf(1,2,3,4,5)
val linkedList = linkedListOf(1,2,3,4,5)
참조
최종 수정 : 2024-09-15