配列が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
削除したものの代わりに、配列の最後の項目を削除し、それをスロットに挿入します。それはあなたが意図したものではありませんか? –