Is er een snelle (en mooie) manier om een element uit een array te verwijderen in Java?
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).