scala中集合求交集 並集 差集

2021-08-15 12:00:18 字數 1810 閱讀 1592

前言:

scala中的集合set,

用於存放無序非重複資料

對於非set集合(array/arraybuffer/list/listbuffer),在做交集、並集、差集時必須轉換為set,否則元素不去重沒有意義

。而對於非set型別集合元素去重,也有個很好的方法:distinct

scala> list(1,2,2,3).distinct    去重方法

一、求交集:使用&或者

interset方法求交集

scala> set(1,2,3) & set(2,4) // &方法等同於interset方法

res1: scala.collection.immutable.set[int] = set(2)

scala> res1.foreach(println)

2scala> set(1,2,3) intersect set(2,4)

scala> array(1,2,3) intersect array(3,4) // array求交集的方法,不能用&

res9: array[int] = array(3)

scala> list(1,2,3,2) intersect list(2,4)

res12: list[int] = list(2)

二、求並集:可用++方法和

union求並集,set/array/arraybuffer/list/listbuffer均適用

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(3,4)

res19: scala.collection.immutable.set[int] = set(1, 2, 3, 4)

scala> array(1,2,3) ++ array(3,4)

res20: array[int] = array(1, 2, 3, 3, 4)

scala> list(1,2,3) ++ list(3,4)

res21: list[int] = list(1, 2, 3, 3, 4)

三、求差集:--方法和diff方法求差集

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)

scala中集合的交集 並集 差集

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...

交集並集差集

1 內連線 select from student a inner join sc b on a.sno b.sno 左連線 select from student a left join sc b on a.sno b.sno 差集 select sno from student except s...

python 集合比較(交集 並集,差集)

python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...