① java 怎麼設計一個set類 然後new兩個set對象 進行交集 並集 求代碼
樓上有誤,你這樣還是用的原始的Set類,而非「設計一個Set」,且交集實現太麻煩了
import java.util.*;
public class MySet<E> extends HashSet<E>{
//求交集
public MySet<E> intersection(MySet<E> set){
MySet<E> newSet=new MySet<E>();
for(Object ob:this){
if(set.contains(ob)){
newSet.add((E) ob);
}
}
return newSet;
}
//求並集
public MySet<E> union(MySet<E> set){
this.addAll(set);
return this;
}
//測試
public static void main(String[] args){
MySet<Integer> set=new MySet<Integer>();
set.add(1);
set.add(2);
set.add(3);
MySet<Integer> set1=new MySet<Integer>();
set1.add(6);
set1.add(4);
set1.add(2);
System.out.println(set.intersection(set1));
}
}
② 如何在JAVA中實現兩個集合的交和並
list1 list2//拿兩個集合舉例
List list3=new ArrayList();
for(int i=0;i<list1.size();i++)
{
for(int j=0;j<list2.size();j++)
{
if(list1.get(i)==list2.get(j)||list.get(i).equals(list2.get(j)))
list3.add(list1.get(i));
break;
}
}//循環後的list3就是交集
List list3=new ArrayList();
for(int i=0;i<list1.size();i++)
{
for(int j=0;j<list2.size();j++)
{
if(list1.get(i)==list2.get(j)||list.get(i).equals(list2.get(j)))
{list3.add(list1.get(i)); continue;}
list3.add(list1.get(i));
list3.add(list2.get(j));
}
}//這個list3就是並集
③ java問題,寫一個程序,其功能是輸入兩組整數,求這兩組數的交集和並集。跟我說思路,不是說演算法,就
並集比較好辦:把兩組整數全部存到一個Set對象內就完了;
交集:就對一個數組中的每個元素循環,判斷其是否在另一個數組中。
④ java求交集和並集
雖然想盡量維持你程序的原型,但是還是改的差不多了。學java注重的是面向對象的思想,建議你不要把太多精力放在這些演算法上面,不能再像學習C語言那樣學習java。
public class Group{
public void jiaoji(int[] a,int[] b){
for(int i=0;i<a.length;i++){
for(int j=0;j<b.length;j++){
if(a[i]==b[j]){
System.out.print(a[i]+",");
}
}
}
}
public void bingji(int[] a,int[] b){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+",");
}
for(int i=0;i<b.length;i++){
boolean flag=true;
for(int j=0;j<a.length;j++){
if(b[i]==a[j]){
flag=false;
}
}
if(flag){
System.out.print(b[i]+",");
}
}
}
public static void main(String[] args){
int a[]={1,2,3,4,5};
int b[]={4,5,6,7,8};
Group group=new Group();
System.out.print("交集為:");
group.jiaoji(a,b);
System.out.print("\n並集為:");
group.bingji(a,b);
}
}
⑤ 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編寫程序,求集合的並集、交集和差集
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){
(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);
}