zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

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) );
  }
}
ArrayList mit nulls

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.


Frage 30:

Wenn wir Cindy aus der ArrayList entfernen möchten, sollten wir diese Zelle auf null setzen?

names.set(4, null)

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite