Überprüfen, ob ein Array einen bestimmten Wert in Java enthält

Rashmi Patidar 12 Oktober 2023
  1. Überprüfen Sie, ob ein Array einen bestimmten Wert enthält, indem Sie die Methode array.contains() in Java verwenden
  2. Überprüfen eines Arrays, das einen bestimmten Wert enthält, mithilfe von Java 8-Streams
  3. Überprüfen Sie, ob ein Array einen bestimmten Wert enthält, indem Sie eine einfache for-Schleife verwenden
Überprüfen, ob ein Array einen bestimmten Wert in Java enthält

Ein Array ist eine systematische Sammlung von Elementen, die in einer bestimmten Reihenfolge angeordnet sind. Intern werden die Array-Elemente in zusammenhängenden Speicherplätzen gespeichert.

Es gibt verschiedene Möglichkeiten, ein Element in einem Array zu suchen. Verschiedene Methoden führen zu unterschiedlichen Zeiten und Komplexität in ihnen. Unten sind einige aufgelistete Möglichkeiten, ein Element in einem Array zu suchen.

Überprüfen Sie, ob ein Array einen bestimmten Wert enthält, indem Sie die Methode array.contains() in Java verwenden

Im folgenden Codeblock müssen wir ein Array arr mit einigen vordefinierten Werten instanziieren. Initialisieren Sie nun die Zeichenkette, die wir durchsuchen müssen.

Arrays ist eine Klasse, die verschiedene Methoden hat, um die Arrays zu manipulieren. Diese Klasse enthält statische Factory-Methoden und -Felder, die beim Suchen und Sortieren von Elementen im Array nützlich sind.

Die Methode asList() ist die statische Methode der Klasse Arrays. Es gibt eine feste Liste des angegebenen Arrays aus den Parametern zurück.

contains() ist eine Methode in der List-Schnittstelle. Es nimmt ein Element als Parameter und wir vergleichen dieses Argument mit den in der Liste vorhandenen Elementen. Es gibt den booleschen Wert true zurück, wenn das angegebene Element in der Liste existiert und gibt in jedem Fall false zurück. Die Methode wirft ClassCastException wenn der Typ des angegebenen Elements mit dieser Liste nicht kompatibel ist und NullPointerException wenn der angegebene Wert null ist und diese Liste keinen null-Wert zulässt.

package findInList;

import java.util.Arrays;

public class FindAValueInArray {
  public static void main(String[] args) {
    String[] arr = new String[] {"1", "2", "3"};
    String stringToSearch = "2";
    System.out.println(Arrays.asList(arr).contains(stringToSearch));
  }
}

Die Ausgabe des obigen Programms ist wie folgt.

true

Überprüfen eines Arrays, das einen bestimmten Wert enthält, mithilfe von Java 8-Streams

Im obigen Codeblock ähneln die ersten beiden Zeilen denen im ersten Code. Hier haben wir die Methode stream der Klasse Arrays verwendet, um einen Stream von Arrays zu erzeugen. Diese Methode gibt einen sequentiellen Stream mit dem angegebenen Array als Quelle zurück. Die Klasse Stream hat eine Funktion namens anyMatch(). Die Methode verwendet als Eingabe ein predicate.

Das Predicate ist eine funktionale Schnittstelle, die eine einzelne Argumentfunktion übernimmt und einen Booleschen Wert zurückgibt. Es enthält eine einzelne Methode test(T t), die das Prädikat für das angegebene Argument auswertet. Es gibt true zurück, wenn ein Element des Streams mit dem angegebenen Prädikat übereinstimmt, andernfalls ein false-Wert.

package findInList;

import java.util.Arrays;

public class FindAValueInArray {
  public static void main(String[] args) {
    String[] arr = new String[] {"1", "2", "3"};
    String stringToSearch = "2";
    System.out.println(Arrays.stream(arr).anyMatch(s -> s.equals(stringToSearch)));
  }
}

Die Ausgabe des obigen Codes ist dieselbe wie beim ersten Code.

Überprüfen Sie, ob ein Array einen bestimmten Wert enthält, indem Sie eine einfache for-Schleife verwenden

Im folgenden Codeblock verwenden wir die traditionelle for-Schleife, um über Arrays zu iterieren. Die for-Schleife wird in expression1 mit einem Zählerwert als 0 initialisiert. Nun wird der Zählerwert mit der Länge eines Arrays verglichen. Wenn die Zählervariable kleiner als die Länge des definierten Arrays ist, wird die Anweisung innerhalb des Codeblocks ausgeführt.

Innerhalb des for-Blocks vergleichen wir jedes Element eines Arrays mit der Methode equals der Klasse String. Wenn der Status als wahr ausgewertet wird, wird das Schlüsselwort break verwendet, um die Ausführung der for-Schleife zu unterbrechen. Wenn er nicht gefunden wird, wird der Code so oft ausgeführt, wie die Anzahl der Elemente im Array ist.

Nach der Schleife wertet eine print-Anweisung den Wert der Statusvariablen als true aus, wenn ein Element in der Liste gesucht wird, andernfalls würde der Wert false ausgegeben.

package findInList;

public class FindAValueInArray {
  public static void main(String[] args) {
    String[] arr = new String[] {"1", "2", "3"};
    String stringToSearch = "2";
    boolean status = false;
    for (int i = 0; i < arr.length; i++) {
      status = arr[i].equals(stringToSearch);
      if (status)
        break;
    }
    System.out.println(status);
  }
}

Die Ausgabe ist wieder dieselbe wie im ersten Code.

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Verwandter Artikel - Java Array