我想从数组中删除单个元素。这是我到目前为止所尝试的:
for (int i = pos + 1; i < currentSize; i++)
values[???] = values[i];
currentSize--;
我对[???]
内部的内容感到困惑
如果有人可以提供帮助,我真的很感激。
答案 0 :(得分:0)
???在这种情况下,表示您希望从中获取值的数组的索引。如果您有一个包含元素5,10,15和20的数组A,那么可以使用它们的索引检索每个元素。即5的索引是0,其中10是1。
由于零索引(A [0]是第一个元素),大小为n的数组将包含n-1个元素。
答案 1 :(得分:0)
阵列本质上不是很善良,因为它们不能调整大小。一旦你了解了对象和泛型,你就会停止使用数组并转换到Collection
。但是现在,你必须创建一个新的(较小的)数组并复制所有 - 但只有一个 - 值。我会保持它非常基础,所以你学到的最多:
int indexToRemove = 3;
Object[] newArray = new Object[values.length - 1];
for (int i = 0; i < newArray.length; i++) {
if (i < indexToRemove) {
newArray[i] = values[i];
} else {
newArray[i] = values[i + 1];
}
}
我不知道您的values
属于哪种类型,所以我只是采用了Object
。您可能想要替换它。