首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

如何判断两个list<set>的交集是不是空

2012-01-21 
怎么判断两个listset的交集是不是空?有什么简单的办法来判断吗?有两个ListSetInteger 怎么判断这两

怎么判断两个list<set>的交集是不是空?
有什么简单的办法来判断吗?有两个List<Set<Integer>> 怎么判断这两个的交集呢?

[解决办法]
两个List<Set>?
是要求判断List的每个Set分别和另一个List的每个Set两两是否有交集吗?
可以循环分别判断每个Set
for example

Java code
List<Set<Integer>> l1 = new ArrayList<Set<Integer>>();Set<Integer> s1 = new HashSet<Integer>(Arrays.asList(new Integer[]{1,2}));Set<Integer> s2 = new HashSet<Integer>(Arrays.asList(new Integer[]{3,4}));l1.add(s1);l1.add(s2);List<Set<Integer>> l2 = new ArrayList<Set<Integer>>();Set<Integer> s3 = new HashSet<Integer>(Arrays.asList(new Integer[]{1,3}));Set<Integer> s4 = new HashSet<Integer>(Arrays.asList(new Integer[]{2,4}));l2.add(s3);l2.add(s4);for (Set<Integer> ls1 : l1) {    for (Set<Integer> ls2 : l2) {        Set<Integer> ts = new HashSet<Integer>(ls1);        ts.retainAll(ls2);        if (ts.size() > 0) {            System.out.println("has same element:");            System.out.println(ts);        }    }} 

热点排行