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)

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

相关推荐
BUG研究员_6 分钟前
Runnable与LCEL
开发语言·人工智能·python
朦胧之42 分钟前
Go 基础
后端·go
lun1 小时前
Agent 工具调用成长史:理清楚 Function Calling、MCP、CLI 的关系
后端
Python私教1 小时前
Codex 自动写 Commit 够安全吗?一套证据化 Git 提交流程
人工智能·git·后端
Python私教1 小时前
AI Agent 上生产要不要开写权限?我把执行链拆成 4 道闸门
人工智能·后端·python
lun1 小时前
Claude Code 多 Agent 实现:subAgent & Agent Teams
后端
牛艺翔2 小时前
C++基础
开发语言·c++
键盘会跳舞2 小时前
C++ :容器适配器stack源码级拆解
开发语言·c++··stack·先进后出
美味蛋炒饭.2 小时前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
我星期八休息3 小时前
网络编程—网络层
开发语言·前端·网络·人工智能·智能路由器