集合去重,取交集並集差值

2021-09-03 07:36:07 字數 2003 閱讀 9004

最好的方式是用set集合做並集,collectionutils封裝,union底部用hashmap取值存入hashset中,去重

// 兩個集合合併成並去重

public void mergeset(set a,set b)

//取出集合裡面的值

system.out.println((itr.next()));

}}

jdk1.8

listlist1 = new arraylist();

list1.add("1111");

list1.add("2222");

list1.add("3333");

listlist2 = new arraylist();

list2.add("3333");

list2.add("4444");

list2.add("5555");

// 交集

listintersection = list1.stream().filter(item -> list2.contains(item)).collect(tolist());

system.out.println("---得到交集 intersection---");

intersection.parallelstream().foreach(system.out :: println);

// 差集 (list1 - list2)

listreduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(tolist());

system.out.println("---得到差集 reduce1 (list1 - list2)---");

reduce1.parallelstream().foreach(system.out :: println);

// 差集 (list2 - list1)

listreduce2 = list2.stream().filter(item -> !list1.contains(item)).collect(tolist());

system.out.println("---得到差集 reduce2 (list2 - list1)---");

reduce2.parallelstream().foreach(system.out :: println);

// 並集

listlistall = list1.parallelstream().collect(tolist());

listlistall2 = list2.parallelstream().collect(tolist());

listall.addall(listall2);

system.out.println("---得到並集 listall---");

listall.parallelstream().foreach(system.out :: println);

// 去重並集

listlistalldistinct = listall.stream().distinct().collect(tolist());

system.out.println("---得到去重並集 listalldistinct---");

listalldistinct.parallelstream().foreach(system.out :: println);

system.out.println("---原來的list1---");

list1.parallelstream().foreach(system.out :: println);

system.out.println("---原來的list2---");

list2.parallelstream().foreach(system.out :: println);

// 一般有filter 操作時,不用並行流parallelstream ,如果用的話可能會導致執行緒安全問題

陣列去重 並集 交集 差集

一 去重 1 借助額外變數空間 es5 var arr 1,3,4,5,6,6,7,3,3,3 var newarr var obj function removeduplicates arr return newarr removeduplicates arr 1,3,4,5,6,7 2 不借助額...

shell對檔案的處理。包括取交集 並集 去重等

一 兩個檔案的交集 並集 前提條件 每個檔案中不得有重複行 1 取出兩個檔案的並集 重複的行只保留乙份 cat file1 file2 sort uniq file3 file1 file2 結果 file3 4.2 取出兩個檔案的交集 只留下同事存在於兩個檔案中的檔案 cat file1 file...

JS陣列操作 去重,交集,並集,差集

原文 js陣列操作 去重,交集,並集,差集 方法一 function unique arr 方法二 function unique arr 方法三 function unique arr a 1,2,3 b 2,4,5 方法一 es7新增了乙個array.prototype.includes的陣列方...