새소식

반응형
250x250
My Study/Kotlin

Study About Kotlin 8

  • -
728x90
반응형
반응형

코틀린에서 배열과 컬렉션을 다루는 방법

 

Kotlin은 안드로이드 개발에 매우 인기있는 언어이며, 그 유용성은 백엔드 개발에도 확장된다.

오늘은 Kotlin 에서 배열과 컬렉션을 다루는 방법에 대해 알아보자.

 

배열 다루기

Kotlin에서 배열을 사용하는 방법은 Java와는 다소 다르다. 

아래 순서대로 Java 코드와 Kotlin 코드이다.

public class Lecture15 {
    public static void main(String[] args) {
        int[] array = {100, 200};

        for (int i = 0; i < array.length; i++) {
            System.out.printf("%s %s", i, array[i]);
        }
    }
}

 

fun main() {
    val array = arrayOf(100, 200)

    for (i in array.indices) {
        println("${i}, ${array[i]}")
    }

    array.plus(300)
    for ((index, value) in array.withIndex()) {
        println("$index, $value")
    }
}

 

Kotlin에서는 i in array.indices를 사용하면 배열의 인덱스를 처음부터 끝까지 쉽게 가져올 수 있다.

또한 array.withIndex()를 사용하면 인덱스와 값을 한 번에 가져올 수 있어 편리하다.

Kotlin은 Java와 달리 배열 요소를 쉽게 추가하는 방법도 제공한다.

 

컬렉션 다루기

Kotlin에서 컬렉션을 다룰 때 가장 중요한 점 중 하나는

컬렉션이 가변(mutable)인지 불변(immutable)인지를 명시적으로 선언해야 한다는 것이다.

가변 컬렉션은 요소를 추가하거나 삭제할 수 있지만, 불변 컬렉션에서는 그렇게 할 수 없다.

 

리스트

val numbers = listOf(100,200)
    pringNumbers(emptyList());

    numbers[0]
    for(number in numbers) {
        println(number)
    }

    for((idx, value) in numbers.withIndex()) {
        println("$idx, $value")
    }

 

리스트를 만들 때는 listOf(100, 200) 또는 emptyList<Type>()을 사용할 수 있다.

가변 리스트를 만들고 싶다면 listOf 대신 mutableListOf를 사용해야 한다.

 

TIP* 우선 불변 리스트로 시작하여 필요한 경우에만 가변으로 전환하는 것이 좋다.

집합

집합은 setOf 로 만들면 되고, list와 거의 유사하다.

val oldMap = mutableMapOf<Int, String>()
    oldMap.put(1, "MONDAY")
    oldMap[2] = "TUESDAY"

    mapOf(1 to "MONDAY", 2 to "TUESDAY")

    for (key in oldMap.keys) {
        println(key)
        println(oldMap[key])
    }

    for((key,value) in oldMap.entries) {
        println("$key, $value")
    }

 

맵을 만들 때는 mutableMapOf<Int, String>() 또는 mapOf(key to value, key to value)를 사용할 수 있다.

 

Kotlin에서 List<Int?>는 null이 될 수 있는 요소를 포함할 수 있는 리스트를 의미한다.

반면, List<Int>?는 리스트 자체가 null일 수 있음을 나타낸다.

List<Int?>?는 리스트와 그 요소 모두 null이 될 수 있음을 의미한다.

728x90
반응형

'My Study > Kotlin' 카테고리의 다른 글

Study About Kotlin 10  (0) 2024.04.03
Study About Kotlin 9  (0) 2024.03.28
Study About Kotlin 7  (0) 2024.03.26
Study About Kotlin 6  (0) 2024.03.09
Study About Kotlin 5  (0) 2024.02.28
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.