Case A:true Case B:false Case C:true Case D:false Case E:true
Case A: Die Liste ist zu Beginn leer, isEmpty()
gibt also true
zurück.
Case B: Der Wert null
wurde der Liste hinzugefügt und befindet sich nun bei Index Null. isEmpty()
gibt false
zurück.
Case C: Der Wert bei Index Null wurde aus der Liste entfernt. isEmpty()
gibt true
zurück.
Case D: Eine Referenz auf einen String wurde der Liste bei Index Null hinzugefügt. Der String ist zufällig ein Leerstring, aber er ist ein rechtmäßiges Objekt und die Zelle bei Index Null enthält einen Verweis auf ihn. isEmpty()
gibt false
zurück.
Case E: clear()
hat die Liste geleert. isEmpty()
gibt true
zurück.
Die lineare Suche beginnt beim ersten Element und untersucht die Elemente eines nach dem anderen, bis das Zielelement gefunden ist. Wir könnten eine lineare Suche für eine ArrayList
schreiben, aber es gibt bereits eine Methode, die das für uns erledigt:
int indexOf(Object element)
element
,equals(Object)
von element
.
Die Methode gibt den Index des ersten Vorkommens von element
zurück oder -1, wenn element
nicht gefunden wird.
Wir prüfen das folgende Programm. Was wird ausgegeben?
import java.util.* ; public class SearchEg { public static void main ( String[] args) { ArrayList<String> names = new ArrayList<>(); names.add( "Amy" ); names.add( "Bob" ); names.add( "Chris" ); names.add( "Deb" ); names.add( "Elaine" ); names.add( "Joe" ); System.out.println( "First Search: " + names.indexOf( "Elaine" ) ); System.out.println( "Second Search: " + names.indexOf( "Zoe" ) ); } }