Šajā programmā jūs iemācīsities pārbaudīt, vai masīvā Java satur noteiktu vērtību.
Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:
- Java masīvi
- Java datu tipi (primitīvi)
1. piemērs: pārbaudiet, vai Int Array satur noteiktu vērtību
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."); ) )
Rezultāts
3 ir atrasts.
Iepriekš minētajā programmā mums ir veselu skaitļu masīvs, kas saglabāts mainīgajā num. Tāpat atrodamais numurs tiek saglabāts mapē ToFind.
Tagad mēs izmantojam katrai cilpai, lai atkārtotu visus num elementus un pārbaudītu atsevišķi, vai toFind ir vienāds ar n vai nē.
Ja jā, mēs iestatījām true
un pārtraucām darbību. Ja nē, mēs pārietam uz nākamo atkārtojumu.
2. piemērs: pārbaudiet, vai masīvā ir dota vērtība, izmantojot straumi
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."); ) )
Rezultāts
7 nav atrasts.
Iepriekš minētajā programmā tā vietā, lai izmantotu katrai cilpu, mēs pārveidojam masīvu uz IntStream
un izmantojam tā anyMatch()
metodi.
anyMatch()
metode prasa predikātu, izteiksmi vai funkciju, kas atgriež Būla vērtību. Mūsu gadījumā predikāts katru elementu n straumē salīdzina ar toFind un atgriež true
vai false
.
Ja atgriežas kāds no elementiem n true
, tiek iestatīts true
arī atrasts .
3. piemērs: pārbaudiet, vai masīvā ir noteikta vērtība primitīvu tipu vērtībai
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."); ) )
Rezultāts
Atrasti četri.
Iepriekš programmai, esam izmanto bez primitīvas datu tipu String
un lieto Arrays
's stream()
metodi, lai vispirms konvertēt to uz plūsmā, un anyMatch()
, lai pārbaudītu, vai masīvs satur doto vērtību toFind.