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