Šioje programoje išmoksite patikrinti, ar masyve yra nurodyta „Java“ reikšmė.
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“ masyvai
- „Java“ duomenų tipai (primityvūs)
1 pavyzdys: Patikrinkite, ar „Int Array“ yra nurodyta reikšmė
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."); ) )
Rezultatas
3 yra rasta.
Pirmiau pateiktoje programoje turime sveikų skaičių masyvą, saugomą kintamajame num. Panašiai skaičius, kurį reikia rasti, saugomas toFind.
Dabar mes naudojame kiekvienai kilpai kartoti visus numerio elementus ir atskirai patikrinti, ar toFind yra lygus n, ar ne.
Jei taip, mes nustatėme true
ir nutraukėme kilpą. Jei ne, pereiname prie kitos kartojimo.
2 pavyzdys: naudodami srautą patikrinkite, ar masyve yra nurodyta vertė
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."); ) )
Rezultatas
7 nerasta.
Pirmiau pateiktoje programoje, užuot naudoję kiekvienai kilpai, mes konvertuojame masyvą į IntStream
ir naudojame jo anyMatch()
metodą.
anyMatch()
metodas paima predikatą, išraišką ar funkciją, kuri grąžina loginę vertę. Mūsų atveju predikatas kiekvieną srauto elementą n palygina su toFind ir grąžina true
arba false
.
Jei grįš kuris nors iš elemento n true
, true
taip pat bus nustatyta rasta .
3 pavyzdys: Patikrinkite, ar masyve yra nurodyta neprimityvių tipų vertė
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."); ) )
Rezultatas
Rasta keturi.
Pirmiau programą, mes naudojamas ne primityvų duomenų tipą String
ir naudoti Arrays
"S stream()
metodą pirmą konvertuoti jį į upelį ir anyMatch()
patikrinti, ar masyvas yra suteikiama vertė tofind.