java - ArrayList不添加对象?

标签 java loops arraylist

我有一段代码:

public void setBoardMemberPosition() {

    int[] position = null;

    do{
        positionX = RandomNumberGenerator.generateRandomNumber(Board.DIMENSION);
        positionY = RandomNumberGenerator.generateRandomNumber(Board.DIMENSION);

        position = new int[] { positionX, positionY };


    } while(checkIfPositionIsOccupied(position));

    board.setElementAt(positionX, positionY, name);
    storedMembers.add(position);

}

有人可以向我解释一下为什么这些元素没有添加到列表中,其中:

private ArrayList<int[]> storedMembers = new ArrayList<int[]>();是一个类变量并且:checkIfPositionIsOccupied(position)返回真/假

if (storedMembers.contains(position))

我有一种感觉,它与do while有关。 ,我调试了一下,没有成功。

最佳答案

如果您想在每次迭代时将数组 position 添加到 ArrayList 中,您的 add() 调用必须位于循环内部:

do {
    // ...

    storedMembers.add(position);
} while(...);

编辑:

for (int i = 0; i < storedMembers.size(); i ++)
    // ...

    if (!checkIfPositionIsOccupied(position))
        storedMembers.add(position);
}

关于java - ArrayList不添加对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22566340/

相关文章:

java - 如何将 ZXing 的二维码结果用作字符串?

Java Double.doubleToLongBits 转换为 C# BitConverter.ToDouble

java - JPanel 检查值是否更改

python - 有没有办法设置可选参数来绕过输入参数?

java - 我向形状 Arraylist 添加了一个矩形,但该形状不会显示在面板上

Java 根据值顺序对对象列表进行排序(例如 d、s、a、q、c)

java - 如何从字符串中解析int

ruby 将内循环值返回给外循环

loops - 随着样本量的增加循环回归

java - 如何循环遍历字符串然后查找该字符串的一部分是否在 arrayList 中