如果你問爲什麼陣列remove
後整理被稱爲那麼答案是:它不是:
public class Remove {
private final int[] array = new int[10];
private int size = 0;
public Remove(int... elements) {
for (int el: elements)
array[size++] = el;
}
public boolean remove(int x) {
int i;
for (i = 0; (i < size) && (x != array[i]); i++)
;
if (i == size) {
return false;
} else {
size--;
array[i] = array[size];
return true;
}
}
public String toString() {
return Arrays.toString(Arrays.copyOf(array, size));
}
public static void main(String[] args) {
Random random = new Random();
Remove remove = new Remove(random.ints(8, 1, 1000).toArray());
System.out.println(remove);
remove.remove(remove.array[3]);
System.out.println(remove);
}
}
結果:
[515, 621, 343, 883, 463, 745, 966, 70]
[515, 621, 343, 70, 463, 745, 966]
什麼是你想達到什麼目的? – Oswald
它將刪除數組的最後一項,並將其插入,而不是刪除該數組。這不是你想要的嗎? –