導航:首頁 > 編程語言 > java兩個集合的交集

java兩個集合的交集

發布時間:2023-10-22 15:36:16

1. 用java編寫程序,求集合的並集、交集和差集

publicstaticvoidmain(String[]args){
Integer[]A={1,2,3,4};
Integer[]B={1,3,7,9,11};

List<Integer>listA=Arrays.asList(A);
List<Integer>listB=Arrays.asList(B);

List<Integer>jiaoji=newArrayList<Integer>();
for(Integera:listA){
if(listB.contains(a)){
jiaoji.add(a);
}
}
System.out.println(jiaoji);
List<Integer>bingji=newArrayList<Integer>();
for(Integera:listA){
if(!bingji.contains(a)){
bingji.add(a);
}
}
for(Integerb:listB){
if(!bingji.contains(b)){
bingji.add(b);
}
}

System.out.println(bingji);

List<Integer>chaji=newArrayList<Integer>();
for(Integera:listA){
if(!listB.contains(a)){
chaji.add(a);
}
}
System.out.println(chaji);
}

2. java學習中,怎麼求交集和並集

publicstaticvoidtest3(){
Set<String>cc=newHashSet<String>();
cc.add("2");
cc.add("a");
cc.add("b");
cc.add("x");
Set<String>dd=newHashSet<String>();
dd.add("b");
dd.add("1");
dd.add("2");
dd.add("3");
dd.add("a");
Set<String>ff=newHashSet<String>();
ff.addAll(cc);
ff.addAll(dd);
System.out.println(ff.toString());
}

這是並集

3. Java求兩Collection的交集

intersection()沒問題。使用1.7測試代碼如下:


importjava.util.ArrayList;
importjava.util.Collection;

publicclassTest{
publicstaticvoidmain(String[]args){
String[]arr1={"M116","M140","M250","M120","M98"};
String[]arr2={"M116","M140","M250","M187","M98","M120"};
Collection<String>collection1=toCollection(arr1);
Collection<String>collection2=toCollection(arr2);
Collection<String>collection=intersection(collection1,collection2);
for(Strings:collection){
System.out.println(s);
}
}

publicstatic<T>Collection<T>intersection(Collection<T>collection1,
Collection<T>collection2){
Collection<T>collection=newArrayList<T>();//Howwoulditbe??
for(Tt:collection1){
if(collection2.contains(t)){
collection.add(t);
}
}
returncollection;
}

publicstatic<T>Collection<T>toCollection(T[]arr){
Collection<T>collection=newArrayList<T>();
for(Tt:arr){
collection.add(t);
}
returncollection;
}
}

4. JAVA怎麼取多個List集合的交集

1、把多個list放到一個list中,生成 List<List<Object>>結構
2、遍歷list,使用java8的規約操作,兩兩求交集
list.stream().rece((list1,list2) -> { list1.retainAll(list2); return list1;}).orElse(emptyList());

5. java找到兩個list的交集並集差集

//橘散慶交集
set1.retainAll(set2);
//差圓握集
set1.removeAll(set2);
//並掘舉集1

set1.addAll(set2);

6. java求交集和並集

處理集合交並集運算的類,實現java專門的集合類
簡單實現代碼如下:
package test;

import java.util.HashSet;
import java.util.Set;

public class Test {

public static void main(String[] args) {
Set<Integer> result = new HashSet<Integer>();
Set<Integer> set1 = new HashSet<Integer>(){{
add(1);
add(3);
add(5);
}};

Set<Integer> set2 = new HashSet<Integer>(){{
add(1);
add(2);
add(3);
}};

result.clear();
result.addAll(set1);
result.retainAll(set2);
System.out.println("交集:"+result);

result.clear();
result.addAll(set1);
result.addAll(set2);
System.out.println("並集:"+result);

}

}

7. java 怎麼設計一個set類 然後new兩個set對象 進行交集 並集 求代碼

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class MySet {

public static void main(String[] args) {

Set set1 = new TreeSet();
set1.add("aa");
set1.add("bb");
set1.add("CC");

Set set2 = new TreeSet();
set2.add("aa");
set2.add("eeff");

Set unionSet = MySet.union(set1, set2);
Set intersectionSet = MySet.intersection(set1, set2);

printSet(unionSet);
System.out.println("-----------------------------");
printSet(intersectionSet);

}

private static void printSet(Set set) {

Iterator ite = set.iterator();

while(ite.hasNext()){
System.out.println(ite.next().toString());
}

}

public static Set union(Set set1, Set set2){
Set set = new TreeSet();

set.addAll(set1);
set.addAll(set2);

return set;
}

public static Set intersection(Set set1, Set set2){
Set set = new TreeSet();

if(set1.size() > set2.size()){
set.addAll(set2);
}else{
set.addAll(set1);
}

Iterator ite = set.iterator();

while(ite.hasNext()){
Object obj = ite.next();
if(!(set1.contains(obj) && set2.contains(obj))){
set.remove(obj);
}
}

return set;

}
}
--------------------------
CC
aa
bb
eeff
-----------------------------
aa

閱讀全文

與java兩個集合的交集相關的資料

熱點內容
newfile命令快捷鍵 瀏覽:567
阿里雲物理伺服器 瀏覽:953
靈狐視頻app哪個好 瀏覽:257
大廠退役程序員自述 瀏覽:252
linux命令watch 瀏覽:889
加密幣哪些平台不撤出中國 瀏覽:553
max加線命令 瀏覽:424
app胖瘦模式哪個好用 瀏覽:724
可以下載源碼的軟體 瀏覽:487
程序員寫一天代碼累嗎 瀏覽:628
ie文件夾禁止訪問 瀏覽:543
百川互聯網程序員 瀏覽:784
linuxpython解釋器 瀏覽:667
興安得力軟體加密狗 瀏覽:494
智能網路攝像頭加密 瀏覽:574
軟體畢業程序員培訓 瀏覽:652
安卓陀螺儀低怎麼辦 瀏覽:247
一級建造師復習題集pdf 瀏覽:904
法理學pdf海默 瀏覽:394
伺服器內存儲器是用什麼的 瀏覽:819