kotlin filter()で配列の差分を取得するサンプル
環境
Windows11 pro 64bit
java 19.0.1
kotlin 1.7.20-release-201
構文
val newArray = 配列1 + 配列2 val result = newArray.filter { item -> newArray.count { it == item } == xxx }
filter()を使って2つの配列(array)の差分を取得するには、count()を使います。
count()のクロージャーで、引数と配列の要素が等しい時にtrueとなる条件式を返します。
使用例
fun main() { val nums1 = arrayOf(2, 3, 6, 7, 5) val nums2 = arrayOf(3, 4, 5, 6) val array = nums1 + nums2 val result = array.filter { item -> array.count { it == item } == 1 } println(result) }
実行結果
[2, 7, 4]