如何在Treeset中更改add()

时间:2015-10-26 22:36:43

标签: java

我想在Treeset中使用add()方法实现union。

我这样写:

Set<Integer> union(Set<Integer> a, Set<Integer> b) {
    Treeset result = new Treeset();
    for(Integer i:a) {
        result.add(i);
    }
    for(Integer i:b) {
        result.add(i);
    }
    return result;
}

这是我的家庭作业之一,我们的教授说我们不能使用add()方法,那么,我如何使用其他方式来实现它并获得相同的结果呢?

1 个答案:

答案 0 :(得分:0)

在单个元素上使用al是......慢。它也不是最好的风格。

如果我这样做,无论如何我都会使用add,一次性添加我关心的所有内容。

addAll

请确保您没有使用public Set<Integer> union(final Set<Integer> left, final Set<Integer> right) { final Set<Integer> result = new TreeSet<>(left); result.addAll(right); return result; } 实例创建原始类型。以上内容避免了这种情况;如果您的代码是TreeSet而不是TreeSet,那么您的代码(可能)会创建一个代码。