Wie prüft man, ob ein Java Array einen Wert enthält?

Es gibt viele Möglichkeiten, um zu überprüfen, ob ein Java Array einen bestimmten Wert enthält.

  • Einfache Iteration mit einer for-Schleife
  • List-Methode contains()
  • Stream-Methode anyMatch()
  • Arrays.binarySearch() für sortierte Arrays

Schauen wir uns diese Methoden nacheinander an.

Verwendung der for-Schleife, um zu prüfen, ob ein Java Array einen Wert enthält

Dies ist die einfachste und bequemste Methode, um zu überprüfen, ob das Array einen bestimmten Wert enthält oder nicht. Wir durchlaufen die Array-Elemente mit einer for-Schleife und verwenden die Methode equals(), um zu prüfen, ob das Array-Element mit dem angegebenen Wert übereinstimmt.


String[] vowels = { "A", "I", "E", "O", "U" };

// Iteration über die Array-Elemente
for (String s : vowels) {
    if ("E".equals(s)) {
        System.out.println("E ist in der Vokalliste enthalten.");
    }
}

Verwendung der List-Methode contains(), um zu prüfen, ob ein Java Array einen Wert enthält

Wir können die Klasse Arrays verwenden, um eine Listenrepräsentation des Arrays zu erhalten. Dann nutzen wir die Methode contains(), um zu prüfen, ob das Array den Wert enthält. Schauen wir uns ein Beispiel mit JShell an.


jshell> String[] vowels = { "A", "I", "E", "O", "U" };
vowels ==> String[5] { "A", "I", "E", "O", "U" }

jshell> List vowelsList = Arrays.asList(vowels);
vowelsList ==> [A, I, E, O, U]

jshell> vowelsList.contains("U")
$3 ==> true

jshell> vowelsList.contains("X")
$4 ==> false

Verwendung der Stream-Methode anyMatch()

Wenn Sie Java 8 oder höher verwenden, können Sie einen Stream aus dem Array erstellen. Anschließend nutzen Sie die Methode anyMatch() mit einem Lambda-Ausdruck, um zu prüfen, ob ein bestimmter Wert enthalten ist.


jshell> List vowelsList = Arrays.asList(vowels);
vowelsList ==> [A, I, E, O, U]

jshell> Arrays.stream(vowels).anyMatch("O"::equals);
$5 ==> true

jshell> Arrays.stream(vowels).anyMatch("X"::equals);
$6 ==> false

Verwendung von Arrays.binarySearch() für sortierte Arrays

Wenn Ihr Array sortiert ist, können Sie die Methode Arrays.binarySearch() verwenden, um zu prüfen, ob das Array den angegebenen Wert enthält oder nicht.


String[] vowels = { "A", "I", "E", "O", "U" };

System.out.println("Unsortiertes Array = " + Arrays.toString(vowels));

Arrays.parallelSort(vowels);

System.out.println("Sortiertes Array = " + Arrays.toString(vowels));

int index = Arrays.binarySearch(vowels, "X");

if (index < 0) {
    System.out.println("X ist nicht im Array enthalten");
} else {
    System.out.println("X ist im Array enthalten");
}

Ausgabe:


Unsortiertes Array = [A, I, E, O, U]
Sortiertes Array = [A, E, I, O, U]
X ist nicht im Array enthalten

Prüfen, ob ein Java Array mehrere Werte enthält

Was, wenn wir prüfen möchten, ob das Array mehrere Werte enthält? Angenommen, Sie möchten prüfen, ob ein gegebenes Array eine Teilmenge des Quellarrays ist. Wir können verschachtelte Schleifen erstellen und jedes Element einzeln überprüfen. Eine elegantere Lösung ist jedoch, die Arrays in Listen umzuwandeln und die Methode containsAll() zu verwenden.


String[] vowels = { "A", "I", "E", "O", "U" };
String[] subset = { "E", "U" };

boolean foundAll = Arrays.asList(vowels).containsAll(Arrays.asList(subset));

System.out.println("vowels enthält alle Elemente in subset = " + foundAll);

Ausgabe:



vowels enthält alle Elemente in subset = true


Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren:

centron Managed Cloud Hosting in Deutschland

Hibernate SessionFactory: Methoden und Vorteile erklärt

JavaScript, Tutorial
Hibernate SessionFactory Hibernate SessionFactory ist die Factory-Klasse, über die wir Sitzungen erhalten und Datenbankoperationen durchführen können. Content1 Die Hibernate SessionFactory2 Fazit Die Hibernate SessionFactory Hibernate SessionFactory stellt drei Methoden bereit,…