[KOTLIN] 컬렉션의 처리

값의 쌍 , 중위 호출과 구조 분해 선언

맵 생성하기

  • 맵 생성시 mapOf 함수를 사용함.
val map = mapOf(1 to "one", 7 to "seven", 53 to "fifty-three")

중위 호출(Infix Call)

  • to 는 코틀린의 키워드가 아니라,
  • 중위 호출을 통해 호출되는 일반 메서드임
    • 중위 호출은 수신 객체 ( 1 )와 유일한 메서드 인자(”one”) 사이에 메서드 이름을 넣어 호출하는 방식임.
    1.to("one") // "to" 메서드를 일반적인 방식으로 호출함
    1 to "one"  // "to" 메서드를 중위 호출 방식으로 호출함
  • 중위 호출을 사용하려면 메서드 앞에 infix 변경자를 추가해야 한다.
    • to 함수 는 아래와 같은 식임
      infix fun Any.to(other: Any) = Pair(this, other)

Pair 클래스와 구조 분해 선언

  • Pair 클래스는 코틀린 표준 라이브러리에 있는 클래스임
    • 두 원소의 순서 쌍을 표현함.
    • 구조 분해 선언을 사용시 Pair 의 내용을 변수 2개로 초기화 가능함
    fun main() {
        val (number, name) = 1 to "one"
        println(number)
        println(name)
    }
    
    1
    one

구조 분해 활용

fun main() {
    val list = listOf(1, 2, 3, 4)
    for ((index, element) in list.withIndex()) {
        println("$index: $element")
    }
}

0: 1
1: 2
2: 3
3: 4
  • 컬렉션의 원소의 인덱스와 값을 따로 변수에 담을 수 있음.

to 함수와 mapOf함수

fun <K, V> mapOf(vararg values: Pair<K, V>): Map<K, V>
  • mapOf 원 가변인자로, 각 인자는 키와 값으로 이루어진 순서쌍임

Uploaded by N2T

'코틀린 > 코틀린인액션' 카테고리의 다른 글

[KOTLIN] 클래스 계층 정의  (0) 2024.02.09
[KOTLIN] 로컬 함수와 확장  (0) 2024.02.09
[KOTLIN] 문자열과 정규  (0) 2024.02.09
[KOTLIN] 함수 정의와 호출  (0) 2024.02.08
[KOTLIN] 컬렉션  (0) 2024.02.08