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)

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

相关推荐
雪的季节7 分钟前
qt信号槽跨线程使用时候的坑
java·开发语言·qt
AI应用实战 | RE11 分钟前
011、向量数据库入门:Embeddings原理与ChromaDB实战
开发语言·数据库·langchain·php
架构谨制@涛哥21 分钟前
《哥谭神话-Palantir故事篇》Palantir 产品战略与架构全景
后端·系统架构·软件构建
一直不明飞行23 分钟前
C++:string,写法s.find(‘@‘) != s.end()是否有问题
开发语言·c++·算法
沐知全栈开发34 分钟前
C 预处理器
开发语言
Flandern111137 分钟前
Go程序员学习AI大模型项目实战02:给 AI 装上“大脑”:从配置解包到流式生成的深度拆解
人工智能·后端·python·学习·golang
daad77737 分钟前
WSL2_wifi驱动安装
开发语言·前端·javascript
超级大只老咪1 小时前
一维度前缀和解题通用模板(java)
java·开发语言·算法
无限进步_1 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
许杰小刀1 小时前
Python网络请求库,从 requests 到 httpx
开发语言·python·httpx