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)

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

相关推荐
南境十里·墨染春水4 分钟前
C++ 笔记 多重继承 菱形继承(面向对象)
开发语言·c++·笔记
Albert Edison6 分钟前
【ProtoBuf 语法详解】选项 option
开发语言·c++·序列化·反序列化·protobuf
huihuihuanhuan.xin6 分钟前
spring循环依赖以及补充相关知识
java·后端·spring
墨雪不会编程8 分钟前
C++容器适配器【困难篇】双向队列详解
开发语言·c++
笨笨饿9 分钟前
博客目录框架
c语言·开发语言·arm开发·git·嵌入式硬件·神经网络·编辑器
请数据别和我作队9 分钟前
基于 DeepSeek API 的 ASR 文本纠错脚本实战:Python 多线程批量处理 JSONL 语音转写数据
开发语言·经验分享·python·自然语言处理·nlp
泡泡鱼(敲代码中)12 分钟前
C++-string学习笔记
c语言·开发语言·c++·笔记·学习·visualstudio
编程大师哥13 分钟前
JAVA 动态代理
java·开发语言
ytttr87320 分钟前
C# 读取数据库表结构工具设计与实现
开发语言·数据库·c#
Jinuss23 分钟前
源码分析之React中的useImperativeHandle
开发语言·前端·javascript