Java 转换多集<;E>;对象到对象数组
我正在处理泛型数组的集合Java 转换多集<;E>;对象到对象数组,java,arrays,generics,multiset,bag,Java,Arrays,Generics,Multiset,Bag,我正在处理泛型数组的集合E[]。我目前正忙于两个集合的并集,并试图将多集合aSet转换为通用数组。我试图将当前类的泛型数组或“this”数组与union方法中接受的数组进行比较。下面是我当前的代码分区: @SuppressWarnings("unchecked") @Override public MultiSet<E> union(MultiSet<E> aSet) { MyBag<E> set = (MyBag<E>) aSet;
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.
@SuppressWarnings(“未选中”)
@凌驾
公共多集联合(多集aSet){
MyBag集合=(MyBag)aSet;
E[]温度;
temp=(E[])新键控[2*长度];
// ...
返回新的MyBag(临时);
}//生成两个包的并集。
我很乐意澄清任何需要澄清的问题。谢谢我不完全理解,但似乎您可以通过两个for循环将所有内容复制到临时数组中,一个用于复制aSet in,另一个用于复制“this”数组。然后临时数组将包含每个元素的所有元素,新包将拥有所有元素。但是,按照当前的设置方式,aSet必须具有与此相同的长度。长度我想将MultiSet aSet放入一个E[]中,然后逐个元素进行比较,以查看它们是否同时存在于两者中。您所说的for循环是正确的。我只是不知道如何将一个MultiSet对象转换成一个E[]……我尝试了不同的方法,但总是得到一个转换错误。
MultiSet
来自哪里?是从图书馆来的吗?你是自己定义的吗?这是我得到的ADT,这个类继承了union。