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
廣告