Kotlin에서 목록을 초기화하기 위한 궁극의 가이드

Kailash Vaviya 2023년6월20일
  1. Kotlin에서 불변 목록 초기화
  2. Kotlin에서 가변 목록 초기화
Kotlin에서 목록을 초기화하기 위한 궁극의 가이드

Kotlin List<T>는 여러 요소의 모음을 나타냅니다. 구문에서 <T>는 정의되지 않은 데이터 유형을 나타냅니다. 이는 List<T>를 사용하여 초기화된 목록에 특정 데이터 유형이 없음을 의미합니다.

Collections 클래스의 미리 정의된 기능을 사용하여 원할 때마다 List의 항목에 쉽게 액세스하고 수정할 수 있습니다.

Kotlin에서는 변경할 수 없는 목록과 변경할 수 있는 두 가지 유형의 목록을 초기화할 수 있습니다. 이러한 목록을 초기화하는 방법에는 여러 가지가 있으며 이 문서에서 살펴보겠습니다.

Kotlin에서 불변 목록 초기화

변경할 수 없는 목록은 일단 생성되면 변경할 수 없는 컬렉션입니다. 이들은 List 인터페이스를 사용하여 정의되며 ListArrayList와 같은 List 구현 클래스로 표시됩니다.

불변 목록을 초기화하는 세 가지 방법에 대해 알아봅니다. 이 세 가지 방법에는 다음이 포함됩니다.

  1. listOf()
  2. 빈 목록()
  3. listOfNull()

listOf() 함수로 Kotlin 목록 초기화

listOf()Collections 클래스의 최상위 함수입니다. 이 메서드는 변경할 수 없는 항목 목록을 만듭니다. Java에서 Arrays.asList를 사용하는 것과 유사합니다.

다음 구문을 사용하여 변경 불가능한 Kotlin 목록을 초기화할 수 있습니다.

val listName = listOf(item1, item2, item3)

이제 위 구문을 사용하여 간단한 Kotlin 프로그램을 만들어 보겠습니다. 이 프로그램에서는 Fruits라는 변경 불가능한 Kotlin 목록을 만들고 몇 가지 과일을 추가합니다.

fun main(args: Array<String>) {
    val Fruits = listOf("Apple", "Mango", "Strawberry")
    println(Fruits)
}

Kotlin 목록 생성 및 초기화

이것은 불변 목록입니다. 따라서 미리 정의된 방법을 사용하여 목록을 변경하면 오류가 발생합니다.

add() 함수를 사용하여 이전 예제에서 정의한 동일한 불변 목록에 요소를 추가하려고 시도하여 이를 실제로 확인합니다.

fun main(args: Array<String>) {
    val Fruits = listOf("Apple", "Mango", "Strawberry")
    println(Fruits)
    Fruits.add("Kiwi")
    println(Fruits)
}

불변 목록에 새 요소를 추가하면 오류 발생

출력에서 볼 수 있듯이 add() 메서드는 unresolved reference: add 오류를 발생시킵니다.

emptyList() 함수로 Kotlin 목록 초기화

변경할 수 없는 Kotlin 목록을 만드는 다음 방법은 emptyList() 함수를 사용하는 것입니다. listOf() 함수와 유사하게 작동하지만 유일한 차이점은 빈 목록을 생성한다는 것입니다.

즉, 목록을 생성하지만 목록이 비어 있으므로 초기화하지 않습니다.

emptyList() 함수를 사용하는 구문은 다음과 같습니다.

val listName: List<String/Int> = emptyList()

다음은 emptyList()를 사용하여 Kotlin에서 변경할 수 없는 빈 목록을 만드는 프로그램입니다.

fun main() {
    val emptyImmutableList: List<String> = emptyList()
    println(emptyImmutableList)
}

emptyList() 함수를 사용하여 빈 목록 만들기

listOfNotNull() 함수로 Kotlin 목록 초기화

listOfNotNull() 함수는 null이 없는 기존 컬렉션에서 새 목록을 반환합니다.

일부 String 값과 일부 null 값이 포함된 목록이 있는 경우 이 메서드는 String 값만 포함된 새 목록을 제공합니다. 그러나 목록에 null 값만 있는 경우 함수는 빈 목록을 반환합니다.

결과 목록은 읽기 전용입니다. 따라서 listOfNotNull() 함수는 변경 불가능한 Kotlin 목록을 초기화하는 역할을 합니다.

다음은 listOfNotNull() 함수의 구문입니다.

fun <T : Any> listOfNotNull(element: T?): List<T>

아래 프로그램에서는 세 개의 목록을 만듭니다. 하나는 null 값만 포함하고, 두 번째는 null이 아닌 값만 포함하며, 세 번째는 nullnull이 아닌 값이 혼합되어 있습니다.

fun main(args: Array<String>) {
    val nullValuesList = listOfNotNull(null, null)
    println(nullValuesList)

    val nonNullValuesList = listOfNotNull(13, "Hello", "Hi", 96)
    println(nonNullValuesList)

    val mixList = listOfNotNull(13, null, "Hello", null, 96)
    println(mixList)
}

listOfNotNull() 함수를 사용하여 null 값 없이 목록 초기화

첫 번째 println() 함수는 첫 번째 목록인 nullValuesList에 두 개의 null 값만 있기 때문에 빈 목록을 생성합니다. 두 번째 println() 함수는 두 번째 목록 nonNullValuesList의 모든 요소를 인쇄합니다. 왜냐하면 non-null 값만 있기 때문입니다.

그러나 세 번째 println() 함수는 mixList에서 null이 아닌 값만 포함하는 목록을 인쇄합니다.

Kotlin에서 가변 목록 초기화

변경 가능한 목록은 필요할 때 액세스하고 변경할 수 있는 변경 가능한 컬렉션입니다. 이 섹션에서는 Kotlin 목록을 초기화하는 두 가지 방법을 살펴봅니다.

우리가 진행할 두 가지 방법은 다음과 같습니다.

  1. mutableListOf()
  2. arrayListOf()

mutableListOf() 함수로 Kotlin 목록 초기화

변경 가능한 Kotlin 목록을 초기화하는 첫 번째 방법은 mutableListOf() 메서드를 사용하는 것입니다. listOf() 함수와 마찬가지로 mutableListOf()도 Kotlin List를 생성하고 초기화할 수 있습니다.

그러나 이 함수는 가변 목록을 생성하므로 이 목록에서 요소를 추가하거나 삭제할 수 있습니다.

mutableListOf() 구문은 다음과 같습니다.

var listName = mutableListOf(item1, item2, item3)

Fruits라는 변경 가능한 목록을 만들고 초기화하기 위해 아래 Kotlin 프로그램을 만듭니다. 다음으로 목록에 새 요소를 추가하고 다른 항목을 제거합니다.

fun main(args: Array<String>) {
    var Fruits = mutableListOf("Apple", "Mango", "Strawberry")
    println(Fruits)

    // Adding a new element to the list
    Fruits.add("Kiwi")
    println(Fruits)

    // Removing an element from the list
    Fruits.remove("Mango")
    println(Fruits)
}

변경 가능한 목록 생성 및 초기화

출력에서 볼 수 있듯이 이번에는 add() 함수가 unresolved reference 오류를 발생시키지 않습니다. 우리가 만든 목록이 변경 가능하기 때문입니다.

arrayListOf() 함수로 Kotlin 목록 초기화

변경 가능한 Kotlin 목록을 초기화하는 다른 방법은 arrayListOf() 함수를 사용하는 것입니다. 이 메서드는 배열을 만들고 초기화합니다.

arrayListOf() 함수의 구문은 다음과 같습니다.

var listName = arrayListOf(item1, item2, item3)

위의 구문을 사용하여 Cars라는 변경 가능한 Kotlin ArrayList를 생성하고 몇 가지 자동차 브랜드로 초기화합니다. 그런 다음 ArrayList에 새 요소를 추가하여 변경 가능함을 확인합니다.

fun main(args: Array<String>) {
    var Cars = arrayListOf("Mercedes Benz", "BMW", "Bentley")
    println(Cars)

    Cars += listOf("Ferrari", "Lamborghini")
    println(Cars)
}

변경 가능한 배열 목록 생성 및 초기화

Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn

관련 문장 - Kotlin List