scala中集合的交集、并集、差集
来源:互联网 发布:英国cpi数据 编辑:程序博客网 时间:2024/04/30 15:52
原文网址:http://hongjiang.info/scala-union-diff-intersect/
scala中有一些api设计的很人性化,集合的这几个操作是个代表:
交集:
scala> Set(1,2,3) & Set(2,4) // &方法等同于interset方法scala> Set(1,2,3) intersect Set(2,4)
并集:
scala> Set(1,2,3) ++ Set(2,4)scala> Set(1,2,3) | Set(2,4) // |方法等同于union方法scala> Set(1,2,3) union Set(2,4)
差集:
scala> Set(1,2,3) -- Set(2,4) //得到 Set(1,3)scala> Set(1,2,3) &~ Set(2,4) scala> Set(1,2,3) diff Set(2,4)
添加或删除元素,可以直接用+,-方法来操作,添加删除多个元素可以用元组来封装:
scala> Set(1,2,3) + (2,4)scala> Set(1,2,3) - (2,4)
另外,对于非Set集合,在做交集、并集、差集时必须转换为Set,否则元素不去重没有意义。
而对于非Set类型集合元素去重,也有个很好的方法:distinct,定义在 GenSeqLike 特质中
这个方法的好处是集合在去重后类型不变,比用Set去重更简洁
scala> List(1,2,2,3).distinctscala> List(1,2,2,3).toSet.toList
补充,原用于去重的方法removeDuplicates已不鼓励使用。
0 0
- scala中集合的交集、并集、差集
- scala中集合的交集、并集、差集
- List的并集、交集、差集
- 两个集合的交集,并集,差
- STL Set 交集 合集 差集
- STL Set 交集 合集 差集
- 交集 并集 差集
- 交集差集并集
- 关于List集合之间求交集,并集,合集,差集等.....
- mysql的合,交,并,差集
- 汇编写的(交集,并集,差集)
- [随记]JDK5的并集、交集、差集
- MySQL 的并集、交集和差集
- MySQL 的并集、交集和差集
- MySQL 的并集、交集和差集
- 求String的交集、并集、差集
- uniq 求两个文件的交集,并集,差集
- JAVA的交集、差集、并集 整理
- [王垠系列]什么是“脚本语言”
- XMPP介绍一:服务器及数据库搭建
- Java数据精度
- 深入理解BootStrap -- 列表组(list-group)16
- 又学一招——linq 之 select 动态
- scala中集合的交集、并集、差集
- Windows 7 密码锁定无法登陆问题
- Android 布局优化之include与merge
- angular.element方法汇总
- 某客户使用RMAN数据库恢复测试步骤
- [王垠系列]谈“测试驱动的开发”
- java 实现坦克大战终极版
- [王垠系列]谈程序的“通用性”
- 基于DSP的FIR滤波器的设计