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).distinct
scala> list(1,2,2,3).toset.tolist
補充,原用於去重的方法removeduplicates
已不鼓勵使用。
【完】
scala中集合求交集 並集 差集
前言 scala中的集合set,用於存放無序非重複資料 對於非set集合 array arraybuffer list listbuffer 在做交集 並集 差集時必須轉換為set,否則元素不去重沒有意義 而對於非set型別集合元素去重,也有個很好的方法 distinct scala list 1,...
Python 集合的交集,並集,差集
前提 測試中需要給某些應用設定黑名單,所以從.txt檔案中求兩者的差集,就可以篩選出需要測試的應用 思路 將.txt檔案中的資料讀到list列表中,求列表的交集,再輸出到指定目錄 一.list操作的思路 a 1,2,3,4,5,6 b 5,6,7 c 交集c i for i in a if i in...
交集並集差集
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...