Die Methode equals(Object) könnte so geändert werden, dass sie nicht zwischen Groß- und Kleinschreibung unterscheidet.
Eine weitere sinnvolle Änderung des Programms wäre es, dem Benutzer zu ermöglichen, neue Einträge in die Liste einzufügen.
null als ein Element
Ein ArrayList-Element kann eine Objektreferenz oder der Wert null sein. Wenn eine Zelle null enthält, wird die Zelle nicht als leer betrachtet. Das Bild zeigt leere Zellen mit einem "X" und Zellen, die null enthalten, mit null.
import java.util.* ;
public class ArrayListEgFive
{
public static void main(String[] args)
{
// Create an ArrayList that holds references to String
ArrayList<String> names = new ArrayList<>();
// Add three Object references and two nulls
names.add("Amy");
names.add(null);
names.add("Bob");
names.add(null);
names.add("Cindy");
System.out.println("size: " + names.size() );
// Access and print out the Objects
for ( int j=0; j<names.size(); j++ )
System.out.println(
"element " + j + ": " + names.get(j) );
}
}
Das Programm gibt aus:
size: 5 element 0: Amy element 1: null element 2: Bob element 3: null element 4: Cindy
Die Zellen, die null enthalten, sind nicht leer und tragen zur Größe der Liste bei. Es ist verwirrend, wenn es null-Elemente in einigen Zellen gibt. Schreiben Eure Programme nur dann so wenn es einen guten Grund dafür gibt. Ein guter Grund könnte sein, dass Ihr nicht möchtet, dass Elemente in neue Zellen verschoben werden, wenn Elemente gelöscht werden. Anstatt also remove() zu verwenden, kann einer Zelle null zugewiesen werden.
Wenn wir Cindy aus der ArrayList entfernen möchten, sollten wir diese Zelle auf null setzen?
names.set(4, null)