我有一个集合,我想实现add()方法,只有正整数才能添加到集合中。该集合可以保存4个值,并且我已经使用下面的代码将每个值初始化为“-1”。Java:删除集合中的元素
public class Bag implements Collection {
private int[] elements;
public Bag() {
elements = new int[Runner.SIZE_OF_COLLECTION];
for (int i = 0; i < Runner.SIZE_OF_COLLECTION; i++) {
elements[i] = -1;
}
}
至今Add方法(下),我有这个遍历集合中的每个元素进行迭代,并更换每一个与我想补充(“TOADD”的正整数是小于0元)。
问题是,我只想添加正整数“toAdd”一次,并且在循环中没有中断,该方法用正整数替换集合中的EVERY元素“-1”。随着循环中断,该方法根本无法添加正整数。关于如何让方法将正整数添加到集合的任何想法只有一次?
public void add(int toAdd) {
for (int i = 0; i < Runner.SIZE_OF_COLLECTION; i++) {
if (elements[i] <= 0 && toAdd>0) {
elements[i] = toAdd;
}
break;
}
}
在此先感谢!
我怀疑元素数组是空的。尝试打印出添加方法内的大小和内容。 – kosa 2012-01-30 20:50:33
标题有点误导......我相信你可能不得不在设计过程中多花一点时间来解决这个问题。另外,什么是亚军? – Gevorg 2012-01-30 20:52:58
Runner是设置集合大小的类,是的,我在标题中的意思是“添加”方法到集合,而不是“去除” – user1178874 2012-01-30 20:56:34