Existuje nejaký rýchly (a pekný) spôsob, ako odstrániť prvok z poľa v Jave?
Pekne vyzerajúce riešenie by bolo v prvom rade použiť zoznam namiesto poľa.
List.remove(index)
Ak musíte používať polia, dve volania príkazu System.arraycopy
budú s najväčšou pravdepodobnosťou najrýchlejšie.
Foo[] result = new Foo[source.length - 1];
System.arraycopy(source, 0, result, 0, index);
if (source.length != index) {
System.arraycopy(source, index + 1, result, index, source.length - index - 1);
}
(Arrays.asList
je tiež dobrým kandidátom na prácu s poliami, ale zdá sa, že nepodporuje remove
.)