| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- 컴포즈
- LinkedList
- 라즈베리파이 피코
- 자료구조
- List
- Android
- 클래스
- Kotlin LinkedList
- kotlinClass
- State Hoisting
- 우송대
- Class
- kotlin
- 스택
- 우송대학교
- Queue
- 코틀린
- Kotlin자료구조
- 상태 호이스팅
- Compoae
- 안드로이드
- 추상화함수
- 임베디드
- 리컴포지션
- 아두이노
- 큐
- deque
- MCU
- 재정의함수
- Stack
- Today
- Total
개발자의 생활
[ Kotlin ] 자료구조_배열 본문
자료구조_배열[ C언어 ]
배열은 모든 언어에서 기본으로 제공되는 자료구조입니다.배열은 동일한 타입의 데이터를 연속적으로 순서대로 나열시킵니다.그럼 배열의 특징을 먼저 알아보겠습니다.배열의 특징동일한 데
han-studio.tistory.com
이전에 C언어로 배열을 사용해서 삽입, 삭제, 검색, 갱신 기능을 구현해 본 적이 있습니다.
하지만 Kotlin 은 이러한 기능을 다양한 방식으로 제공하고 있기 때문에 구현할 필요가 없습니다.
그럼 어떤 방식이 있는지 그리고 각각의 특성을 알아 보겠습니다.
1. MutableList
MtableList는 가변 리스트로 데이터 삽입, 삭제, 검색, 갱신 등 의 기능이 내부적으로 구현되어 있습니다.
val myMutableList: MutableList<Int> = mutableListOf(0, 1, 2)
val myMutableList: MutableList<Int> = MutableList<Int>(5){index: Int -> index + 1 }
val myMutableList: MutableList<Int> = MutableList<Int>(5){0}
이렇게 mutableListOf를 사용해서 초기 리스트 값을 지정할 수도 있고 MutableList를 사용해서 리스트의 초기 길이와 초기값을 조건이나 규칙을 따라 지정할 수도 있습니다.
MutableList 는 사실 MutableList 인터페이스 형태의 반환타입을 가지고 있지만 사실은 ArrayList를 반환하고 있습니다.
본격적으로 삽입, 삭제, 갱신, 검색 기능을 알아보겠습니다.
| fun add(element: E): Boolean |
| fun add(index: Int, element: E): Unit |
| fun addAll(elements: Collection<E>): Boolean |
| fun addAll(index: Int, elements: Collection<E>): Boolean |
| fun remove(element: E): Boolean |
| fun removeAt(index: Int): E |
| fun removeAll(elements: Collection): Boolean |
| operator fun set(index: Int, element: E): E |
| operator fun get(index: Int): E |
위 메서드 들은 MutableList 인터페이스에 정의되어 있는 기능들입니다.
| fun indexOf(element: @UnsafeVariance E): Int |
| fun lastIndexOf(element: @UnsafeVariance E): Int |
| fun contains(element: @UnsafeVariance E): Boolean |
| fun containsAll(elements: Collection<@UnsafeVariance E>): Boolean |
| fun clear(): Unit |
위 메서드 들은 List 인터페이스에 정의되어 있는 기능들입니다.
public interface MutableList<E> : List<E>, MutableCollection<E> {
.
.
.
}
MutableList는 List 인터페이스를 상속받고 있기 때문에 사용이 위 메서드 들도 사용이 가능합니다.
기능이 많이 있지만 메서드명과 반환타입을 통해 충분히 기능을 유추할 수 있기 때문에 사용법은 작성하지 않겠습니다.
2. List
List는 불변(immutable) 리스트입니다. 즉 초기에 담은 요소는 삽입, 삭제, 갱신 은 못 하고 검색만이 가능한 리스트 입니다.
val myList: List<Int> = listOf(0, 1, 2)
val myList: List<Int> = List<Int>(5){index: Int -> index + 1}
불변 리스트도 MutableList처럼 다양한 방식으로 초기값을 지정할 수 있으며 MutableList에서 지원하는 검색 기능들은 모두 동일하게 사용이 가능합니다.
이상으로 이번에는 코틀린에서 Array을 사용하여 이미 구현되어 있는 List, MutableList에 대해 알아보았습니다.
'자료구조 > Kotlin' 카테고리의 다른 글
| [ Kotlin ] 자료구조_LinkedList (0) | 2025.10.04 |
|---|
