Iteration durch ein Array zur Suche nach einem Element
In diesem Schritt lernen Sie, wie Sie mithilfe einer herkömmlichen for
-Schleife prüfen können, ob ein bestimmtes Element in einem Java-Array vorhanden ist. Dies ist eine grundlegende Technik zum Suchen in Datensammlungen.
Zunächst erstellen wir eine neue Java-Datei namens ArraySearch.java
in Ihrem ~/project
-Verzeichnis. Sie können dies entweder über den Dateiexplorer der WebIDE links tun oder indem Sie den folgenden Befehl im Terminal ausführen:
touch ~/project/ArraySearch.java
Öffnen Sie nun die Datei ArraySearch.java
im WebIDE-Editor und fügen Sie den folgenden Java-Code hinzu:
public class ArraySearch {
public static void main(String[] args) {
// Define an array of strings
String[] fruits = {"Apple", "Banana", "Cherry", "Date", "Elderberry"};
// The element we want to search for
String searchElement = "Cherry";
// Variable to keep track if the element is found
boolean found = false;
// Loop through the array
for (int i = 0; i < fruits.length; i++) {
// Check if the current element is equal to the search element
if (fruits[i].equals(searchElement)) {
found = true; // Element found
break; // Exit the loop since we found the element
}
}
// Print the result
if (found) {
System.out.println(searchElement + " was found in the array.");
} else {
System.out.println(searchElement + " was not found in the array.");
}
}
}
Lassen Sie uns diesen Code analysieren:
String[] fruits = {"Apple", "Banana", "Cherry", "Date", "Elderberry"};
: Diese Zeile deklariert und initialisiert ein String-Array namens fruits
mit mehreren Obstnamen.
String searchElement = "Cherry";
: Diese Zeile deklariert eine String-Variable searchElement
und weist ihr den Wert "Cherry" zu. Dies ist das Element, das wir im Array suchen.
boolean found = false;
: Diese Zeile deklariert eine boolesche Variable found
und initialisiert sie mit false
. Wir setzen diese auf true
, wenn wir das searchElement
im Array finden.
for (int i = 0; i < fruits.length; i++)
: Dies ist eine Standard-for
-Schleife, die durch das Array iteriert. i
beginnt bei 0 und geht bis (aber nicht einschließlich) der Länge des fruits
-Arrays.
if (fruits[i].equals(searchElement))
: Innerhalb der Schleife prüft diese if
-Anweisung, ob das aktuelle Element des Arrays (fruits[i]
) gleich dem searchElement
ist. Wir verwenden die .equals()
-Methode, um Strings in Java zu vergleichen, nicht den ==
-Operator.
found = true;
: Wenn die Elemente gleich sind, setzen wir die found
-Variable auf true
.
break;
: Sobald das Element gefunden wurde, verwenden wir die break
-Anweisung, um die Schleife frühzeitig zu beenden, da es keinen Grund gibt, weiter zu suchen.
- Der abschließende
if/else
-Block gibt eine Nachricht aus, die angibt, ob das searchElement
gefunden wurde, basierend auf dem Wert der found
-Variable.
Speichern Sie die Datei ArraySearch.java
(Strg+S oder Cmd+S).
Jetzt kompilieren und führen wir das Programm im Terminal aus. Stellen Sie sicher, dass Sie sich im ~/project
-Verzeichnis befinden.
Kompilieren Sie den Code:
javac ArraySearch.java
Wenn keine Fehler auftreten, wird eine ArraySearch.class
-Datei erstellt.
Führen Sie den kompilierten Code aus:
java ArraySearch
Sie sollten die folgende Ausgabe sehen:
Cherry was found in the array.
Versuchen Sie nun, das searchElement
in etwas zu ändern, das nicht im Array enthalten ist, wie z.B. "Grape"
, speichern Sie die Datei, kompilieren Sie erneut und führen Sie das Programm erneut aus, um die andere Ausgabe zu sehen.