Java programm, et kontrollida, kas massiiv sisaldab antud väärtust

Selles programmis õpite kontrollima, kas massiiv sisaldab Java-s antud väärtust.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:

  • Java massiivid
  • Java andmetüübid (primitiivsed)

Näide 1: kontrollige, kas Int Array sisaldab antud väärtust

 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."); ) )

Väljund

 3 on leitud.

Ülaltoodud programmis on meil täisarvude massiiv, mis on salvestatud muutujasse num. Samamoodi on leiduv number salvestatud kaustaFind.

Nüüd kasutame iga tsükli jaoks kõigi num elementide itereerimiseks ja kontrollime eraldi, kas toFind on võrdne n või mitte.

Kui jah, siis trueotsustasime leida ja murda silmus. Kui ei, siis liigume järgmise iteratsiooni juurde.

Näide 2: kontrollige, kas massiiv sisaldab antud väärtust, kasutades voogu

 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."); ) )

Väljund

 7 ei leitud.

Ülaltoodud programmis teisendame massiivi igaks silmuseks asemel selle IntStreamja kasutame selle anyMatch()meetodit.

anyMatch()meetod võtab predikaadi, avaldise või funktsiooni, mis tagastab tõeväärtuse. Meie puhul võrdleb predikaat voos olevaid elemente n funktsiooniga ToFind ja tagastab truevõi false.

Kui mõni element n naaseb true, on leitud väärtuseks truesamuti leitud .

Näide 3: kontrollige, kas massiiv sisaldab mitteprimitiivsete tüüpide jaoks antud väärtust

 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."); ) )

Väljund

 Leiti neli.

Eespool programmi oleme kasutanud mitte primitiivne andmetüüp Stringja kasutatud Arrays's stream()meetod kõigepealt teisendada see oja ja anyMatch()kontrollida, kas massiiv sisaldab antud raha toFind.

Huvitavad Artiklid...