我有一个方法来添加一个通用元素集合到我的数组,但不知道如何实现这一点。我象COLLECTION
那样代表了我一直遇到的代码行。我不知道该写些什么来代替这个。我的阵列是一个圆环阵列。如何将一组元素添加到我的数组中?
import java.util.Collection;
import java.util.Iterator;
public class CircularArrayRing<E> implements Ring<E> {
public E[] elements; //array of E
private int capacity;
private int writePos = 0;
private int available = 0;
public CircularArrayRing(int size) { //circular array constructor
capacity = size;
}
public boolean add(E e) {
if(available < capacity){
if(writePos >= capacity){
writePos = 0;
}
elements[writePos] = e; //add element e
writePos++;
available--;
return true;
}
return false;
}
public boolean addAll(Collection<? extends E> c) {
if(available < capacity){
if(writePos >= capacity){
writePos = 0;
}
elements[writePos] = COLLECTION; //how do add a collection of elements?
writePos++;
available++;
return true;
}
return false;
}
}
迭代集合,增加每个元素的写入位置并在该位置设置元素。它基本上与for(E e:c){add(e); }' - 我可能会这样实现它。在执行循环之前,只要跟踪返回值,如果你得到'false',或者更好地检查'available> = c.size()', – Thomas
注意:我猜'可用++;'不是你想要的'addAll()'。 – Thomas
附加说明:'available 0'。 –
Thomas