1. 创建两个集合{"George", "Jim", "John", "Blake", "Kevin", "Michael"}和{"George", "Katie", "Kevin", "Michelle", "Ryan"},求它们的并、交和差。
import java.util.*;
public class Exercise{
public static void main(String[] args) {
List list1 = new ArrayList();
List list2 = new ArrayList();
List list3 = new ArrayList();
list1.add("George");
list1.add("Jim");
list1.add("John");
list1.add("Blake");
list1.add("Kevin");
list1.add("Michael");
list2.add("George");
list2.add("Katie");
list2.add("Kevin");
list2.add("Michelle");
list2.add("Ryan");
list3 = intersection(list1, list2);
System.out.print("List1和List2的交集:");
System.out.println(list3);
list3 = union(list1, list2);
System.out.print("List1和List2的并集:");
System.out.println(list3);
list3 = subtract(list1,list2);
System.out.print("List1-List2的差集:");
System.out.println(list3);
list3 = subtract(list2,list1);
System.out.print("List2-List1的差集:");
System.out.println(list3);
}
public static List intersection(List list1,List list2) {
List list3 = new ArrayList(list1);
list3.retainAll(list2);
return list3;
}
public static List union(List list1,List list2) {
List list3 = new ArrayList(list1);
list3.addAll(subtract(list2,list1));
return list3;
}
public static List subtract(List list1, List list2) {
List list3 = new ArrayList(list1);
list3.removeAll(list2);
return list3;
}
}
或:
import java.util.*;
public class Liu {
public static void main(String [] aa){
ArrayList a=new ArrayList();
ArrayList b=new ArrayList();
ArrayList c=new ArrayList();
ArrayList d=new ArrayList();
a.add("George");
a.add("Jim");
a.add("John");
a.add("Blake");
a.add("Kevin");
a.add("Michael");
c.addAll(a);
d.addAll(a);
b.add("George");
b.add("Katie");
b.add("Kevin");
b.add("Michelle");
b.add("Ryan");
a.addAll(b);
c.retainAll(b);
System.out.println("集合的交为: "+c);
d.removeAll(c);
System.out.println("集合的差为: "+d);
a.removeAll(d);
System.out.println("集合的并为: "+a);
}
}
|
|