Kotlin 陣列 - partition() 函式



Kotlin 陣列的 partition() 函式用於將陣列的元素拆分為兩個單獨的序列:第一個序列包含滿足指定謂詞(即為真)的元素,第二個序列包含不滿足給定謂詞(即為假)的元素。

語法

以下是 Kotlin 陣列 partition() 函式的語法:

fun String.partition(
   predicate: (Char) -> Boolean
): Pair<String, String>

引數

此函式接受 **謂詞** 作為引數。

返回值

此函式返回一個布林值。

示例 1

以下是一個基本示例,用於演示 partition() 函式的使用:

fun main(args: Array<String>) {
   var array = arrayOf<Int>(1, 2, 3, 4, 5, 6, 7, 8)
      
   val result = array.partition({it%2==0})
   
   println("Split pair: $result")
}

輸出

以上程式碼產生以下輸出:

Split pair: ([2, 4, 6, 8], [1, 3, 5, 7])

示例 2

現在,讓我們建立一個另一個示例。這裡,我們有一個字串。然後我們使用 partition() 將母音和子音拆分為不同的序列:

fun main(args: Array<String>) {
   // by default ignore care is true
   fun isVowel(c: Char) = "aeuio".contains(c, ignoreCase = true)
   
   val string = "tutorialspoint"    
   val result = string.partition(::isVowel)
   
   println("Split pair: $result")
}

輸出

以下是輸出:

Split pair: (uoiaoi, ttrlspnt)

示例 3

以下示例使用 **partition** 函式分離長度大於 5 的字串:

fun main(args: Array<String>) {
   var array = arrayOf<String>("Hello", "tutorialspoint", "India", "Pvt", "ltd")
   val strings = array.partition({it.length>4});
   println("$strings")   
}

輸出

以下是輸出:

([Hello, tutorialspoint, India], [Pvt, ltd])
kotlin_arrays.htm
廣告