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)