Kotlin 数组 - intersect() 函数



Kotlin 数组的 intersect() 函数创建一个新的集合,该集合仅包含数组和指定集合中都存在的元素。这意味着该函数在对两个或多个数组或集合进行交集运算后返回该集合。

返回的集合保留原始集合的元素迭代顺序。

语法

以下是 Kotlin 数组 intersect() 函数的语法:

fun <T>Array<out T>.intersect(predicate: (T) -> Boolean): Int

参数

此函数接受 other 作为参数,它是一个 Iterable<T>,这意味着它可以是任何包含类型为 T 的元素的集合(例如列表、集合或数组)。

返回值

此函数返回类型为 T 的一个 集合

示例 1

以下是一个演示 intersect() 函数用法的基本示例:

fun main(args: Array<String>) {
   // arr1 first
   val arr1 = arrayOf(4, 5, 6, 7, 2)
   // arr2 second
   val arr2 = arrayOf(2, 1, 5, 7, 8)
   
   // Convert arrays to lists and then find the intersection
   val res = arr1.toList().intersect(arr2.toList())    
   println("This is the intersection list: $res")
}

输出

执行上述代码后,我们将得到以下结果:

This is the intersection list: [5, 7, 2]

示例 2

现在,让我们看另一个示例。在这里,我们使用 intersect() 函数来显示两个列表中的公共元素:

fun main(args: Array<String>){
   //list first
   var list1 = listOf( 1, 5, 3, 7, 2)
   //list second
   var list2 = listOf(2, 1, 5, 4, 7)
   var res = list1.intersect(list2);
   println("this is Intersection list $res")
}

输出

执行上述代码后,我们将得到以下输出:

​
this is Intersection list [1, 5, 7, 2]

示例 3

下面的示例创建两个字符串数组。然后,我们使用 intersect 函数查找公共字符串。然后,我们显示交集列表:

fun main(args: Array<String>) {
   val array1 = arrayOf("tutorialspoint", "India", "tutorix", "Hello")
   val array2 = arrayOf("Hello", "World", "tutorialspoint", "Kotlin")

   // Convert arrays to lists and then find the intersection
   val intersection = array1.toList().intersect(array2.toList())

   println("Array 1: [${array1.joinToString()}]")
   println("Array 2: [${array2.joinToString()}]")
   println("Intersection: [${intersection.joinToString()}]")
}

输出

以上代码产生以下输出:

Array 1: [tutorialspoint, India, tutorix, Hello]
Array 2: [Hello, World, tutorialspoint, Kotlin]
Intersection: [tutorialspoint, Hello]
kotlin_arrays.htm
广告