我有一個方法來添加一個通用元素集合到我的數組,但不知道如何實現這一點。我象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