Program w języku Java do sprawdzania, czy tablica zawiera podaną wartość

W tym programie nauczysz się sprawdzać, czy tablica zawiera daną wartość w Javie.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Tablice Java
  • Typy danych Java (prymitywne)

Przykład 1: Sprawdź, czy Int Array zawiera daną wartość

 public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 3; boolean found = false; for (int n : num) ( if (n == toFind) ( found = true; break; ) ) if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Wynik

 3 zostanie znalezione.

W powyższym programie mamy tablicę liczb całkowitych przechowywaną w zmiennej num. Podobnie liczba do znalezienia jest przechowywana w toFind.

Teraz używamy pętli for-each do iteracji przez wszystkie elementy num i sprawdzamy indywidualnie, czy toFind jest równe n, czy nie.

Jeśli tak, ustawiliśmy znalezioną truepętlę i przerwaliśmy ją. Jeśli nie, przechodzimy do następnej iteracji.

Przykład 2: Sprawdź, czy tablica zawiera daną wartość przy użyciu Stream

 import java.util.stream.IntStream; public class Contains ( public static void main(String() args) ( int() num = (1, 2, 3, 4, 5); int toFind = 7; boolean found = IntStream.of(num).anyMatch(n -> n == toFind); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Wynik

 7 nie został znaleziony.

W powyższym programie zamiast używać pętli for-each, konwertujemy tablicę na an IntStreami używamy jej anyMatch()metody.

anyMatch()przyjmuje predykat, wyrażenie lub funkcję zwracającą wartość logiczną. W naszym przypadku predykat porównuje każdy element n w strumieniu z toFind i zwraca truelub false.

Jeśli którykolwiek z elementów n zwróci true, found również zostanie ustawiony na true.

Przykład 3: Sprawdź, czy tablica zawiera daną wartość dla typów innych niż pierwotne

 import java.util.Arrays; public class Contains ( public static void main(String() args) ( String() strings = ("One", "Two", "Three", "Four", "Five"); String toFind = "Four"; boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind)); if(found) System.out.println(toFind + " is found."); else System.out.println(toFind + " is not found."); ) )

Wynik

 Znaleziono cztery.

W powyższym programie, użyliśmy innego niż prymitywny typ danych Stringi wykorzystywane Arrays„s stream()metody najpierw przekonwertować go do strumienia i anyMatch()sprawdzić, czy tablica zawiera podaną wartość tofind.

Interesujące artykuły...