[kotlin] 코틀린 스크립트에서의 컬렉션(Collection) 사용법

코틀린은 강력한 컬렉션 프레임워크를 제공하여 데이터를 저장하고 처리하는 데 유용한 기능을 제공합니다. 이번 포스트에서는 코틀린 스크립트에서 컬렉션을 사용하는 방법에 대해 알아보겠습니다.

1. List

List는 순서가 있는 항목을 저장하는 데 사용되는 컬렉션입니다. 아래의 예제는 코틀린 스크립트에서 List를 선언하고 사용하는 방법을 보여줍니다:

val numbers = listOf(1, 2, 3, 4, 5)
println(numbers) // 출력: [1, 2, 3, 4, 5]

val firstNumber = numbers.first()
println(firstNumber) // 출력: 1

val lastNumber = numbers.last()
println(lastNumber) // 출력: 5

List는 변경 불가능한(immutable) 컬렉션이기 때문에 요소를 추가하거나 제거할 수 없습니다. 하지만 plus 연산자를 사용하여 다른 List와 결합할 수 있습니다.

2. Mutable List

Mutable List는 List와 달리 요소를 추가하거나 제거할 수 있는 변경 가능한 컬렉션입니다. 아래의 예제는 코틀린 스크립트에서 Mutable List를 선언하고 사용하는 방법을 보여줍니다:

val fruits = mutableListOf("apple", "banana", "orange")
println(fruits) // 출력: [apple, banana, orange]

fruits.add("grape")
println(fruits) // 출력: [apple, banana, orange, grape]

fruits.remove("banana")
println(fruits) // 출력: [apple, orange]

Mutable List는 요소를 추가하거나 제거할 수 있으므로 데이터의 동적인 변경이 필요한 경우 유용합니다.

3. Set

Set은 중복되지 않는 값을 저장하는 데 사용되는 컬렉션입니다. 아래의 예제는 코틀린 스크립트에서 Set을 선언하고 사용하는 방법을 보여줍니다:

val colors = setOf("red", "blue", "green")
println(colors) // 출력: [red, blue, green]

val containsRed = colors.contains("red")
println(containsRed) // 출력: true

Set은 순서가 없기 때문에 요소에 접근할 때 인덱스를 사용할 수 없습니다. 또한 Set은 변경 불가능한 컬렉션이며, 요소를 추가하거나 제거할 수 없습니다.

4. Mutable Set

Mutable Set은 Set과 비슷하지만 요소를 추가하거나 제거할 수 있는 변경 가능한 컬렉션입니다. 아래의 예제는 코틀린 스크립트에서 Mutable Set을 선언하고 사용하는 방법을 보여줍니다:

val cities = mutableSetOf("Seoul", "Tokyo", "London")
println(cities) // 출력: [Seoul, Tokyo, London]

cities.add("New York")
println(cities) // 출력: [Seoul, Tokyo, London, New York]

cities.remove("Tokyo")
println(cities) // 출력: [Seoul, London]

Mutable Set은 요소를 추가하거나 제거할 수 있으므로 유연한 데이터 변경이 필요한 경우 유용합니다.

5. Map

Map은 키-값 쌍으로 데이터를 저장하는 데 사용되는 컬렉션입니다. 아래의 예제는 코틀린 스크립트에서 Map을 선언하고 사용하는 방법을 보여줍니다:

val studentScores = mapOf("Alice" to 95, "Bob" to 80, "Charlie" to 70)
println(studentScores) // 출력: {Alice=95, Bob=80, Charlie=70}

val aliceScore = studentScores["Alice"]
println(aliceScore) // 출력: 95

Map은 특정 키를 사용하여 값에 접근할 수 있습니다. 변경 불가능한 컬렉션인 Map은 요소를 추가하거나 제거할 수 없습니다.

6. Mutable Map

Mutable Map은 Map과 마찬가지로 키-값 쌍을 저장하지만 변경 가능한 컬렉션입니다. 아래의 예제는 코틀린 스크립트에서 Mutable Map을 선언하고 사용하는 방법을 보여줍니다:

val countryCodes = mutableMapOf("US" to "United States", "KR" to "South Korea", "JP" to "Japan")
println(countryCodes) // 출력: {US=United States, KR=South Korea, JP=Japan}

countryCodes["UK"] = "United Kingdom"
println(countryCodes) // 출력: {US=United States, KR=South Korea, JP=Japan, UK=United Kingdom}

countryCodes.remove("US")
println(countryCodes) // 출력: {KR=South Korea, JP=Japan, UK=United Kingdom}

Mutable Map은 요소를 추가하거나 제거할 수 있으므로 데이터의 동적인 변경이 필요한 경우 유용합니다.

이제 코틀린 스크립트에서 컬렉션을 선언하고 사용하는 방법을 알아보았습니다. 적절한 컬렉션을 선택하여 데이터를 효율적으로 처리할 수 있게 됐습니다. 추가적인 내용은 공식 코틀린 문서를 참고해 보시기 바랍니다.