Ⅰ 請問java有工具類取兩個list的並集嗎
好象List的里retainAll可以完成吧,可以保留相同的元素,將不同的刪除,你可以試一下,如果這個不是創建一個新的list,是在原有的list上直接修改。
list1.retainAll(list2);
這樣處理後,list1就是處理過的。
看成交集了,失敗。。。
並集的話直接把兩個的數據都放到一個Set集合里就行了
Set set = new HashSet();
set.addAll(list1);
set.addAll(list2);
這樣set里保存的數據就是你要的結果
Ⅱ 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
Ⅲ 有集合A={1,2,3,4},和B={1,2,5,6},用JAVA語言編寫一個應用程序輸出A和B的交集,並集和差集
//交集
String []a={"1"灶宴,"2","3","4","乎橡7","8"};
String []b={"1","2","5","6","9","8"};
for(int i=0;i<隱頃銀a.length;i++){
for(int j=i;j<b.length;j++){
if(a[i]==b[j]){
System.out.print(b[j]);
}
}
}
}
Ⅳ 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());
}
這是並集
Ⅳ 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);
}
}
Ⅵ 用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);
}
Ⅶ java集合求差值和並集!
差集
ArrayList<String> stuList = new ArrayList<String>();
stuList.add("aa");
stuList.add("bb");
stuList.add("cc");
stuList.add("dd");
ArrayList<String> stuList2 = new ArrayList<String>();
stuList2.add("bb");
stuList2.add("cc");
stuList2.add("ee");
stuList2.add("ff");
for (String s : stuList2) {
if (stuList.contains(s)) {
stuList.remove(s);
} else {
stuList.add(s);
}
}
System.out.println(stuList2);
合集
ArrayList stuList = new ArrayList();
stuList.add("aa");
stuList.add("bb");
stuList.add("cc");
stuList.add("dd");
ArrayList stuList2 = new ArrayList();
stuList2.add("bb");
stuList2.add("cc");
stuList2.add("ee");
stuList2.add("ff");
Set set=new HashSet();
for (Object object : stuList) {
set.add(object);
}
for (Object object : stuList2) {
set.add(object);
}
System.out.println(set);
Ⅷ 請教Java怎麼實現兩個集合求並集
可以用一個for循環進行判斷,如果沒有就添加到集合里,如果有就return,可以這樣寫
int []a ={1001,1003}
int []b ={1002,1004}
for(int i=0;i<a.length;i++){
if(a.contain(b[i])){
return ;
}else{
a.[a.length+1]=b[i]
}
}
數組應該有個判斷是否包含的方法,我記不太清了,你找一下用快捷鍵