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)

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

相关推荐
霸道流氓气质18 分钟前
分布式系统中接口时序不确定性处理
java·开发语言·分布式
无限压榨切图仔18 分钟前
从 Claude Code 切到 Codex:我用 Agent、Skills、MCP 做完了一个内容运营工具
前端·后端
董员外25 分钟前
RAG 系统进化论(一):纵览 RAG 的发展历程
前端·人工智能·后端
Yao80631 分钟前
MyBatis-Plus LambdaQueryWrapper实战:告别手写SQL
后端
街头小霸王62634 分钟前
微服务项目common配置文件模板
后端
库克克35 分钟前
【C++】C++11 包装器function 与 绑定器 bind
开发语言·c++
Conan在掘金35 分钟前
ArkTS 进阶之道(17):@Extend 专属属性扩展边界——为啥能收 fontSize 专属属性
后端
多加点辣也没关系44 分钟前
JavaScript|第30章:事件机制
开发语言·javascript
小大宇44 分钟前
python milvus 案例
开发语言·python·milvus
Gauss松鼠会1 小时前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结