① 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);
}