Dad*_*box 20 java union intersection set
也就是说,如果我有两个或更多集合,并且我想返回一个包含以下任一集合的新集合:
是否有一种简单的,预先存在的方法可以做到这一点?
编辑: 这是错误的术语,不是吗?
Ari*_*nen 34
假设2设置对象a和b
AND(两组交集)
a.retainAll(b);
Run Code Online (Sandbox Code Playgroud)
或(两套联合)
a.addAll(b);
Run Code Online (Sandbox Code Playgroud)
XOR要么滚动你自己的循环:
foreach item
if(a.contains(item) and !b.contains(item) || (!a.contains(item) and b.contains(item)))
c.add(item)
Run Code Online (Sandbox Code Playgroud)
或者这样做:
c.addAll(a);
c.addAll(b);
a.retainAll(b); //a now has the intersection of a and b
c.removeAll(a);
Run Code Online (Sandbox Code Playgroud)
您可以使用具有方法intersection()union()和symmetricDifference()的Google-Collections Sets类.
Sets.intersection(set1, set2);
Sets.union(set1, set2);
SetView view = Sets.intersection(Sets.union(set1, set2), set3);
Set result = view.copyInto(new HashSet());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8693 次 |
| 最近记录: |