如何从两组中添加元素?
If there's a set one (1, 3, 6, 8)
And a set two (2, 4, 6, 8)
Run Code Online (Sandbox Code Playgroud)
我如何将这两者中的元素组合在一起?
Output should be (1, 2, 3, 4, 6, 8)
Run Code Online (Sandbox Code Playgroud)
这是我试过的:
Set<Integer> one = new HashSet();
one.add(1);
one.add(3);
// and so on
Set<Integer> two = new HashSet();
two.add(2);
two.add(4);
// and so on
Set<Integer> newSet = new HashSet();
newSet.add(one);
newSet.add(two);
return newSet;
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为add方法仅适用于单个整数,而不适用于整数集合.有没有一种方法可以将两组一起添加?
我也必须归还这套.我怎么做?
Boh*_*ian 36
使用 Set.addAll()
Set<Integer> one = new HashSet<Integer>();
Set<Integer> two = new HashSet<Integer>();
Set<Integer> newSet = new HashSet<Integer>(one);
newSet.addAll(two);
Run Code Online (Sandbox Code Playgroud)
此外,您应该键入构造函数(如上所述).
要将其转换为方法,请尝试以下方法:
public static Set<Integer> addTwoSets(Set<Integer> one, Set<Integer> two) {
Set<Integer> newSet = new HashSet<Integer>(one);
newSet.addAll(two);
return newSet;
}
Run Code Online (Sandbox Code Playgroud)
事实上,让我们完全疯了......这是一个方法,它将采用任何类型的任何类型的集合来扩展所需的类型,并将它们合并为一个集合:
public static <T> Set<T> merge(Collection<? extends T>... collections) {
Set<T> newSet = new HashSet<T>();
for (Collection<? extends T> collection : collections)
newSet.addAll(collection);
return newSet;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27953 次 |
| 最近记录: |