kotlin List同士の差分を重複を除去して取得する

kotlin List同士の差分を重複を除去して取得する

kotlinで、List同士の差分を重複を除去して取得する手順を記述してます。「subtract」を使用することで可能です。List同士に差分がなければ重複した値のみが除去されます。

環境

  • OS windows11 home
  • java 17.0.2
  • kotlin 1.7.20-release-201

手順

List同士の差分を重複を除去して取得するには、「subtract」で可能です。

List名.subtract(List)

実際に、使用してみます。

fun main() {

    val list = listOf(10, 20, 30, 40, 50, 50) 

    println(list.subtract(listOf(10, 20)))
    // [30, 40, 50]

}

差分のみ取得されて、重複も除去されていることが確認できます。

差分対象のListは順番が異なっても、差分のみ取得されます。

fun main() {

    val list = listOf(10, 20, 30, 40, 50, 50) 

    println(list.subtract(listOf(30, 20)))
    // [10, 40, 50]

}

差分がない場合は、重複のみが除去されます。

fun main() {

    val list = listOf(10, 20, 30, 40, 50, 50) 

    println(list.subtract(listOf(11,22)))
    // [10, 20, 30, 40, 50]

}

mutableList

「mutableList」にも使用可能です。

fun main() {

    val list = mutableListOf(10, 20, 30, 50, 50, 50) 

    println(list.subtract(listOf(10, 20, 70)))
    // [30, 50]

}