码迷,mamicode.com
首页 > 编程语言 > 详细

java 并交集运算

时间:2015-04-17 13:08:38      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

  在面试的过程中,忘记了List中还可以进行交并集运算,这也是常见的数据问题啊,这也是常见的数据结构问题---集合,面试的过程中一直没有想到这种数据结构

  java中API中已经集成了并交集的运算。

  代码:(from http://pengyan5945.iteye.com/blog/1311597)

  交集的API:使用retainAll即可

  并集的API:先removeAll 再addAll

技术分享
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ListTest {
    public static void main(String[] args) {
         testIntersection();
         testUnion();
         testIntersectionSet();
    }
    private static void testIntersection() {
         List<String> list1 = new ArrayList<String>();
         List<String> list2 = new ArrayList<String>();
         list1.add("abc");  list2.add("abc");
         list1.add("123");  list2.add("123");
         list1.add("ABC");
         list2.add("XYZ");
         list1.removeAll(list2);
         list1.addAll(list2);
         System.out.println("并集元素个数是:" + list1.size());      

    }
    private static void testIntersectionSet() {
         List<String> list1 = new ArrayList<String>();
         List<String> list2 = new ArrayList<String>();
         list1.add("abc");  list2.add("abc");
         list1.add("123");  list2.add("123");
         list1.add("ABC");
         list2.add("XYZ");
         Set<String> set =new HashSet<String>();
         addList2Set(set, list1);
         addList2Set(set, list2);
         System.out.println("并集元素个数是:" + set.size());      

    }
    private static void testUnion() {
         List<String> list1 = new ArrayList<String>();
         List<String> list2 = new ArrayList<String>();
         list1.add("abc");  list2.add("abc");
         list1.add("123");  list2.add("123");
         list1.add("ABC");
         list2.add("XYZ");
         list1.retainAll(list2);
         System.out.println("交集元素个数是:"+list1.size());
    }
    private static void addList2Set(Set<String> set,List<String> list){
        for (String str : list) {
            set.add(str);
        }
    }
}
View Code

 

java 并交集运算

标签:

原文地址:http://www.cnblogs.com/sunshisonghit/p/4434239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!