[Kotlin]2つのリスト同士を結合するには?

Kotlin

どうも、ちょげ(@chogetarou)です。

2つのリスト(List)同士を結合する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

2つのリスト(List)同士を結合する方法は、3つあります。

+

1つ目は、「+」演算子を使う方法です。

具体的な方法としては、「+」の両辺に結合する2つのリストを指定します。

//list1, list2=結合するリスト
val result: List<T> = list1 + list2

上記の「+」演算子は、両辺のリスト(List)を結合したリストを結果として返します。

使用例

fun main() {
    val nums1 = listOf("one", "two", "three")
    val nums2 = listOf("four", "five", "six")
    
    val result: List<String> = nums1 + nums2
    
    println(result)
}
出力:
[one, two, three, four, five, six]

plus()

2つ目は、plus()を使う方法です。

まず、片方のリストからplus()を呼び出します。

そして、plust()の引数にもう片方のリストを指定します。

//list1, list2=結合するリスト
val result: List<T> = list1.plus(list2)

上記のplus()は、呼び出したリスト(List)に引数のリストを結合したリストを結果として返します。

使用例

fun main() {
    val nums1 = listOf("one", "two", "three")
    val nums2 = listOf("four", "five", "six")
    
    val result: List<String> = nums1.plus(nums2)
    
    println(result)
}
出力:
[one, two, three, four, five, six]

addAll()

3つ目は、addAll()を使う方法です。

まず、結合した結果を格納するMutableListを生成します。

MutableListからaddAll()を2回呼び出します。

そして、2つのaddAll()のそれぞれに結合する2つのリストを指定します。

//list1, list2=結合するリスト
val result: MutableList<T> = mutableListOf()
result.addAll(list1)
result.addAll(list2)

上記の2回のaddAll()で、用意したMutableListに2つのリストを結合した結果が格納されます。

片方のリストにもう片方のリストを結合したい場合は、結合先のリストをあらかじめMutableListにします。

//片方のリストにもう片方のリストを結合する場合
//結合先のリストをMutableListにする
val list1 = mutableListOf(・・・)
val list2 = listOf(・・・・)
list1.addAll(list2)

使用例

fun main() {
    val nums1 = listOf("one", "two", "three")
    val nums2 = listOf("four", "five", "six")
    
    val result: MutableList<String> = mutableListOf()
    result.addAll(nums1)
    result.addAll(nums2)
    
    println(result)
}
出力:
[one, two, three, four, five, six]

まとめ

2つのリスト(List)同士を結合する方法は、次の3つです。

  • 「+」演算子を使う方法
    val result: List<T> = list1 + list2
  • plus()を使う方法
    val result: List<T> = list1.plus(list2)
  • addAll()を使う方法
    val result: MutableList<T> = mutableListOf()
    result.addAll(list1)
    result.addAll(list2)

コメント

タイトルとURLをコピーしました