scala集合的partition方法使用

在Scala中,partition 方法用于将集合(例如 List、Array ,Set等)中的元素根据给定的条件分成两个部分,并返回一个元组,其中包含两个新的集合,第一个包含满足条件的元素,另一个包含不满足条件的元素。这是 partition 方法的语法:

复制代码
def partition(p: (A) => Boolean): (Repr1, Repr2)
  • p 是一个函数,它接受一个元素,并返回一个布尔值,用于指示是否满足分区的条件
  • ( Repr1, Repr2 ) 是一个元组,第一个是满足条件的集合,第二个是不满足条件的集合

看下面的一个使用 partition 方法的例子:

复制代码
val numbers = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

// 分区:将偶数和奇数分开
val (even, odd) = numbers.partition(_ % 2 == 0)

println("Even numbers: " + even) // 输出:Even numbers: List(2, 4, 6, 8, 10)
println("Odd numbers: " + odd)   // 输出:Odd numbers: List(1, 3, 5, 7, 9)

可以看到非常方便快速的就将两个集合分开了,还是比较好用的

相关推荐
灯澜忆梦1 分钟前
【基于GO的Web开发15】gin路由和路由组
前端·后端·golang·gin
陈老老老板5 分钟前
2026 Web Scraping 教程:用 Codex + Bright Data 构建 Agent 原生数据采集流程
后端
布莱克60517 分钟前
单例模式详解:什么是单例模式,它能解决哪些问题?
开发语言·qt·单例模式
爱勇宝20 分钟前
从前端到全栈,我最后学会的是:先做产品
前端·后端
charlie11451419128 分钟前
deque、list 与 forward_list:vector 之外的三个选择
开发语言·数据结构·c++·list·开源项目
mayaairi43 分钟前
JS DOM属性操作完全指南:内容、样式与自定义属性
开发语言·前端·javascript
avi91111 小时前
Threejs新版本后glb导出提示.x问题GLTFExporter,替代3dmax
开发语言·前端·javascript·threejs·glb·gltfexporter
qq762118221 小时前
windows Qt mingw 编译libzip
开发语言·windows·qt
曹牧1 小时前
Java:Java 数组转 List
java·开发语言·windows