A. 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());
}
這是並集
B. Java中list集合的交集和差集的用法和如何將
只要一小句便可求出交集--> list1.retainAll(list2); list1和list2的位置無所謂,這樣循環一下list1試試,如果還有多個list,一樣的道理
C. java 並集 數組/集合 有重復元素需 保留(急)
雙重循環遍歷就可以了,將b中所有的數在a中遍歷一遍
publicstaticvoidmain(String[]args){
String[]a={"1","ab","ab","3"};
String[]b={"ab","3","4","4"};
List<String>c=newArrayList<String>();
for(inti=0;i<a.size();++i){
c.add(a[i]);
}
for(inti=0;i<b.size();++i){
BooleanbFlag=true;
for(intj=0;j<a.size();++j){
if(b[i]==a[j]){
bFlag=false;
break;
}
}
if(bFlag){
c.add(b[i]);
}
}
}
D. 請問java有工具類取兩個list的並集嗎
好象List的里retainAll可以完成吧,可以保留相同的元素,將不同的刪除,你可以試一下,如果這個不是創建一個新的list,是在原有的list上直接修改。
list1.retainAll(list2);
這樣處理後,list1就是處理過的。
看成交集了,失敗。。。
並集的話直接把兩個的數據都放到一個Set集合里就行了
Set set = new HashSet();
set.addAll(list1);
set.addAll(list2);
這樣set里保存的數據就是你要的結果
E. 用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);
}
F. 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);
G. java判斷2個list是否有並集
publicclassTest{
publicstaticvoidmain(String[]args){
List<Object>list1=newArrayList<Object>();
List<Object>list2=newArrayList<Object>();
List<Object>result=newArrayList<Object>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
list2.add(2);
list2.add(3);
list2.add(5);
list2.add(7);
result.addAll(list1);
result.retainAll(list2);
System.out.println(result);
}
}
H. java 怎麼用removeall和addall求並集
ArrayList中,寫個例子就是了,定義幾個ArrayList變數、添加好相應的元素,就可以 操作了
~
~
~
~
I. 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);
}
}