[kotlin] 코틀린에서 자바 컬렉션 사용하기

코틀린은 자체적으로 컬렉션 프레임워크를 제공하지만, 기존의 자바 컬렉션을 사용할 수도 있습니다. 이 글에서는 코틀린에서 자바 컬렉션을 어떻게 사용하는지 알아보겠습니다.

자바 컬렉션을 코틀린에서 사용

코틀린은 자바와의 상호운용성을 보장하기 위해 자바 컬렉션을 원활하게 사용할 수 있도록 지원합니다. 기존의 자바 코드에서 사용하던 리스트, 맵, 셋 등의 컬렉션을 그대로 활용할 수 있습니다.

// 자바의 ArrayList를 코틀린에서 사용하기
val javaList: java.util.ArrayList<String> = java.util.ArrayList()
javaList.add("Java")
javaList.add("Kotlin")

위의 예제에서는 java.util 패키지의 ArrayList를 코틀린에서 그대로 사용하는 방법을 보여줍니다. 또한, add 메서드를 통해 값을 추가하는 것도 동일하게 작동합니다.

자바 컬렉션을 확장함수로 변환

코틀린에서는 자바 컬렉션을 확장 함수로 변환하여 좀 더 코틀린스러운 형태로 사용할 수 있습니다.

// 자바의 ArrayList를 코틀린 스타일로 확장 함수 사용하기
fun <T> java.util.ArrayList<T>.printAll() {
    for (item in this) {
        println(item)
    }
}

val javaList: java.util.ArrayList<String> = java.util.ArrayList()
javaList.add("Java")
javaList.add("Kotlin")

javaList.printAll()

위 예제에서는 java.util.ArrayList를 대상으로 printAll이라는 확장 함수를 정의하여, 각 요소를 출력하는 형태로 변환한 것을 보여줍니다.

결론

코틀린은 기존의 자바 컬렉션을 매끄럽게 활용하고 확장하여 사용할 수 있는 강력한 언어입니다. 기존의 자바 프로젝트에서도 코틀린의 강점을 살려 적극적으로 활용할 수 있을 것입니다.

참고 자료