U ovom ćete programu naučiti provjeriti sadrži li niz zadanu vrijednost u Javi.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java nizovi
- Java tipovi podataka (primitivni)
Primjer 1: Provjerite sadrži li Int Array zadanu vrijednost
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."); ) )
Izlaz
3 je pronađen.
U gornjem programu imamo niz cijelih brojeva pohranjenih u varijablu num. Isto tako, broj koji se nalazi pohranjen je u toFind.
Sada koristimo petlju za svaku za iteraciju kroz sve elemente num i provjeru pojedinačno je li toFind jednako n ili nije.
Ako je odgovor da, postavili smo pronađeno true
i prekid iz petlje. Ako ne, prelazimo na sljedeću iteraciju.
Primjer 2: Provjerite sadrži li niz zadanu vrijednost pomoću streama
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."); ) )
Izlaz
7 nije pronađen.
U gornjem programu, umjesto da koristimo petlju za svaku, mi pretvaramo niz u an IntStream
i koristimo njegovu anyMatch()
metodu.
anyMatch()
metoda uzima predikat, izraz ili funkciju koja vraća logičku vrijednost. U našem slučaju, predikat uspoređuje svaki element n u toku s toFind i vraća true
ili false
.
Ako se vrati bilo koji od elemenata n true
, postavljeno je i pronađeno true
.
Primjer 3: Provjerite sadrži li niz zadanu vrijednost za neprimitivne tipove
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."); ) )
Izlaz
Četiri su pronađena.
U gore navedenom programu, mi smo koristili ne-primitivni tip podataka String
i koristi Arrays
„s stream()
metodu za prvi ga pretvoriti u potok i anyMatch()
provjeriti da li je polje sadrži zadanu vrijednost tofind.