Program Java pentru a verifica dacă o matrice conține o valoare dată

În acest program, veți învăța să verificați dacă o matrice conține o anumită valoare în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Matrice Java
  • Tipuri de date Java (Primitive)

Exemplul 1: Verificați dacă Int Array conține o valoare dată

 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."); ) )

Ieșire

 3 se găsește.

În programul de mai sus, avem o serie de numere întregi stocate în variabila num. La fel, numărul de găsit este stocat în toFind.

Acum, folosim o buclă pentru fiecare pentru a itera prin toate elementele num și pentru a verifica individual dacă toFind este egal cu n sau nu.

Dacă da, am setat găsit la trueși rupem de la buclă. Dacă nu, trecem la următoarea iterație.

Exemplul 2: verificați dacă un tablou conține o valoare dată utilizând 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."); ) )

Ieșire

 7 nu este găsit.

În programul de mai sus, în loc să folosim o buclă pentru fiecare, convertim tabloul în IntStreamși folosim anyMatch()metoda acestuia .

anyMatch()metoda ia un predicat, o expresie sau o funcție care returnează o valoare booleană. În cazul nostru, predicatul compară fiecare element n din flux cu toFind și returnează truesau false.

Dacă oricare dintre elementele n revine true, găsit este setat la truefel.

Exemplul 3: Verificați dacă o matrice conține o valoare dată pentru tipurile neprimitive

 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."); ) )

Ieșire

 Patru sunt găsite.

În programul de mai sus, am folosit un tip de date non-primitiv Stringși folosit Arrayse stream()metoda pentru prima converti la un flux și anyMatch()pentru a verifica dacă matrice conține date tofind valoare.

Articole interesante...