Î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ă true
sau false
.
Dacă oricare dintre elementele n revine true
, găsit este setat la true
fel.
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 Arrays
e stream()
metoda pentru prima converti la un flux și anyMatch()
pentru a verifica dacă matrice conține date tofind valoare.