黑马程序员技术交流社区

标题: 集合类 [打印本页]

作者: wwwdai    时间: 2015-3-30 23:09
标题: 集合类
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);
           }
          
        }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2