0

我正在研究通用数组的集合E[]。我目前被困在两组的并集上,并试图将 aMultiSet<E> aSet转换为通用数组。我正在尝试将当前类的通用数组或“this”数组与方法中接受的数组进行比较union。这是我当前的代码分区:

@SuppressWarnings("unchecked")
@Override
public MultiSet<E> union(MultiSet<E> aSet) {

    MyBag<E> set = (MyBag<E>) aSet;
    E[] temp;
    temp = (E[]) new Keyed[2*length];
    // ...  
    return new MyBag<E>(temp);
}   // Generate the union of two bags.

很乐意澄清任何需要的问题。谢谢

4

1 回答 1

0

我不完全理解,但似乎您可以使用两个 for 循环简单地将所有内容复制到 temp 数组中,一个用于复制 aSet,另一个用于复制“this”数组。然后临时数组将包含每个元素的所有元素,新的 Bag 将包含所有内容。但是,按照您当前的设置方式, aSet 的长度必须与 this.length 相同

于 2014-04-01T02:16:02.757 回答