Een element uit een matrix verwijderen (Java)

Is er een snelle (en mooie) manier om een element uit een array te verwijderen in Java?

Je kan't een element verwijderen uit de basis Java array. Kijk in plaats daarvan eens naar verschillende Collections en ArrayList.

Commentaren (8)

Een mooie oplossing zou zijn om in de eerste plaats een List te gebruiken in plaats van een array.

List.remove(index)

Als je moet arrays gebruiken, zullen twee aanroepen naar System.arraycopy hoogstwaarschijnlijk het snelst zijn.

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 is ook een goede kandidaat voor het werken met arrays, maar het schijnt remove niet te ondersteunen).

Commentaren (1)

Tuurlijk, maak een andere array :)

Commentaren (0)