Kotlin - 2개의 List 하나로 합치기

코틀린에서 2개 이상의 List를 하나로 합칠 때 다음 방법들을 사용할 수 있습니다.

예제를 통해 자세히 알아보겠습니다.

1. addAll() : 리스트 하나로 합치기

다음과 같이 addAll()으로 두개의 리스트를 하나로 합칠 수 있습니다. addAll()은 MutableList에서만 사용 가능하기 때문에, 하나로 합쳐질 List는 MutableList로 생성해야 합니다. 단순히 두개 리스트의 모든 요소들을 joinedList에 추가하는 것이기 때문에 중복된 요소들이 추가될 수 있습니다.

fun main(args: Array<String>){
    val list1 = listOf(1, 2, 3)
    val list2 = listOf(1, 4, 5, 6)

    val joinedList : MutableList<Int> = ArrayList()
    joinedList.addAll(list1)
    joinedList.addAll(list2)

    println("joinedList : $joinedList")
}

Output:

joinedList : [1, 2, 3, 1, 4, 5, 6]

2. Plus Operator : 리스트 하나로 합치기

다음과 같이 + 연산자를 이용하면 두개의 리스트를 하나로 합칠 수 있습니다.

fun main(args: Array<String>){
    val list1 = listOf(1, 2, 3)
    val list2 = listOf(1, 4, 5, 6)

    val joinedList = list1 + list2

    println("joinedList : $joinedList")
}

Output:

joinedList : [1, 2, 3, 1, 4, 5, 6]

+ 대신에 plus()를 사용해도 결과는 동일합니다.

val list1 = listOf(1, 2, 3)
val list2 = listOf(1, 4, 5, 6)

val joinedList = list1.plus(list2)

3. union() : 중복 제거 및 리스트 합치기

union()은 위의 예제들과 같이 두개의 리스트를 하나의 리스트로 만들어줍니다. 차이점은, 중복된 값들은 모두 제거하여 하나만 추가되도록 합니다.

fun main(args: Array<String>){
    val list1 = listOf(1, 2, 3)
    val list2 = listOf(1, 4, 5, 6)

    val joinedList = list1.union(list2)

    println("joinedList : $joinedList")
}}

결과를 보시면 1은 두개의 리스트가 모두 갖고 있는 요소지만, 하나만 추가되었습니다.

Output:

joinedList : [1, 2, 3, 4, 5, 6]

References

Loading script...
codechachaCopyright ©2019 codechacha