Er det noen rask (og fin utseende) måte å fjerne et element fra en matrise i Java?
En fin løsning ville være å bruke en liste i stedet for array i utgangspunktet.
List.remove(index)
Hvis du må bruke arrays, vil to kall til System.arraycopy
mest sannsynlig være det raskeste.
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
er også en god kandidat for å arbeide med arrays, men den ser ikke ut til å støtte remove
).