📅  最后修改于: 2023-12-03 14:43:40.991000             🧑  作者: Mango
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]
上面示例将一个字符串按照是否为元音字母分为两组,并输出结果。