📜  Kotlin partition() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:43:40.991000             🧑  作者: Mango

Kotlin partition() 方法及示例

Kotlin 的 partition() 方法是用于将集合按照指定条件分为两组的方法。该方法返回一个 Pair 对象,其中第一个元素为符合条件的元素组成的集合,第二个元素为不符合条件的元素组成的集合。

语法
fun <T> Iterable<T>.partition(
    predicate: (T) -> Boolean
): Pair<List<T>, List<T>>
  • Iterable<T>:表示输入的集合
  • predicate: (T) -> Boolean:表示用于分组的条件函数,该函数接收集合中的一个元素作参数,并返回一个布尔类型的值,用于判断该元素是否符合条件。
示例
val list = listOf(1, 2, 3, 4, 5, 6)

val (even, odd) = list.partition { it % 2 == 0 }

println("偶数集合:$even")
println("奇数集合:$odd")

输出结果:

偶数集合:[2, 4, 6]
奇数集合:[1, 3, 5]

上面的示例将一个数字集合按照是否为偶数分为两组,并输出结果。

另外,partition() 方法也可以用于字符串的操作,例如:

val str = "Kotlin is awesome"

val (vowels, consonants) = str.filter { it.isLetter() }.partition {
    it in setOf('a', 'e', 'i', 'o', 'u')
}

println("元音字母集合:$vowels")
println("辅音字母集合:$consonants")

输出结果:

元音字母集合:[o, i, i, e]
辅音字母集合:[K, t, l, n, s, w, s, m]

上面示例将一个字符串按照是否为元音字母分为两组,并输出结果。