У овом програму ћете научити да проверите да ли низ садржи дату вредност у Јави.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:
- Јава низови
- Јава типови података (примитивни)
Пример 1: Проверите да ли Инт Арраи садржи задату вредност
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."); ) )
Оутпут
3 је пронађен.
У горе наведеном програму имамо низ целих бројева сачуваних у променљивој нум. Слично томе, број који се налази је ускладиштен у тоФинд.
Сада користимо петљу за сваку за итерацију кроз све елементе нум и проверу појединачно да ли је тоФинд једнако н или не.
Ако је одговор да, поставили смо пронађено true
и прекидали се из петље. Ако не, прелазимо на следећу итерацију.
Пример 2: Проверите да ли низ садржи задату вредност користећи Стреам
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."); ) )
Оутпут
7 није пронађен.
У горњем програму, уместо да користимо петљу за сваку, ми претварамо низ у ан IntStream
и користимо његову anyMatch()
методу.
anyMatch()
метода узима предикат, израз или функцију која враћа логичку вредност. У нашем случају, предикат упоређује сваки елемент н у току са тоФинд и враћа true
или false
.
Ако се врати било који од елемената н true
, постављено је и на пронађено true
.
Пример 3: Проверите да ли низ садржи дату вредност за непримитивне типове
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."); ) )
Оутпут
Четири су пронађене.
У наведеном програму, ми смо користили не примитивног типа података String
и користи Arrays
'с stream()
метода на прву га претворити у потока и anyMatch()
проверити да ли је низ садржи дати вредности тоФинд.