前言:
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 ...