Odstránenie prvku z poľa (Java)

Existuje nejaký rýchly (a pekný) spôsob, ako odstrániť prvok z poľa v Jave?

Zo základného poľa Java nemôžete odstrániť prvok. Pozrite sa radšej na rôzne kolekcie a zoznamy polí.

Komentáre (8)

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.)

Komentáre (1)

Iste, vytvorte ďalšie pole :)

Komentáre (0)