Java program za provjeru sadrži li niz zadanu vrijednost

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 truei 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 IntStreami 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 trueili 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 Stringi koristi Arrays„s stream()metodu za prvi ga pretvoriti u potok i anyMatch()provjeriti da li je polje sadrži zadanu vrijednost tofind.

Zanimljivi članci...