Für diejenigen, die keine Zeit haben, den Code umzugestalten, um Arrays durch Collections zu ersetzen (zum Beispiel ArrayList), gibt es eine Alternative. Im Gegensatz zu Collections kann die Länge eines Arrays nicht geändert werden, das Array kann jedoch wie folgt ersetzt werden:
array = push(array, item);
Die Nachteile sind das
- Das gesamte Array muss bei jedem Push kopiert werden
- Das ursprüngliche Array
Objectwird nicht geändert, daher müssen Sie die Variablen entsprechend aktualisieren.
Hier ist die pushMethode für String:
(Sie können mehrere pushMethoden erstellen , eine für String, eine für intusw.)
private static String[] push(String[] array, String push) {
String[] longer = new String[array.length + 1];
for (int i = 0; i < array.length; i++)
longer[i] = array[i];
longer[array.length] = push;
return longer;
}
Diese Alternative ist effizienter, kürzer und schwerer zu lesen:
private static String[] push(String[] array, String push) {
String[] longer = new String[array.length + 1];
System.arraycopy(array, 0, longer, 0, array.length);
longer[array.length] = push;
return longer;
}