我在 Java 中有一组对象,我试图将一个元素拉到顶部并将其余元素向下移动一个。
假设我有一个大小为 10 的数组,并且我正在尝试提取第五个元素。第五个元素进入位置 0
并且从 0 到 5 的所有元素都将向下移动 1。
这个算法没有正确地移动元素:
Object temp = pool[position];
for (int i = 0; i < position; i++) {
array[i+1] = array[i];
}
array[0] = temp;
我该如何正确操作?
最佳答案
从逻辑上讲它不起作用,你应该反转你的循环:
for (int i = position-1; i >= 0; i--) {
array[i+1] = array[i];
}
你也可以使用
System.arraycopy(array, 0, array, 1, position);
关于Java,在数组中移动元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970857/