Java program annak ellenőrzésére, hogy egy tömb adott értéket tartalmaz-e

Ebben a programban megtanulja ellenőrizni, hogy egy tömb tartalmaz-e egy adott értéket Java-ban.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java tömbök
  • Java adattípusok (primitív)

1. példa: Ellenőrizze, hogy az Int Array tartalmaz-e egy adott értéket

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

Kimenet

 3 található.

A fenti programban egy egész szám tömböt tároltunk a num változóban. Hasonlóképpen, a keresendő számot a toFind tárolja.

Most egy-for-ciklust használunk a num összes elemének iterációjához, és külön-külön ellenőrizzük, hogy a toFind egyenlő-e n-vel vagy sem.

Ha igen, akkor rátaláltunk truea hibára és kitörtünk róla. Ha nem, akkor a következő iterációra lépünk.

2. példa: A Stream segítségével ellenőrizze, hogy egy tömb tartalmaz-e megadott értéket

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

Kimenet

 7 nem található.

A fenti programban ahelyett, hogy for-hurokot használnánk, a tömböt konvertáljuk an-ra, IntStreamés annak anyMatch()metódusát használjuk .

anyMatch()A módszer predikátumot, kifejezést vagy függvényt vesz fel, amely logikai értéket ad vissza. Esetünkben az állítmány az adatfolyam minden n elemét összehasonlítja a ToFind-del és visszaadja a truevagy -t false.

Ha az n elem bármelyike ​​visszatér true, akkor a found szintén a értékre van állítva true.

3. példa: Ellenőrizze, hogy egy tömb tartalmaz-e adott értéket nem primitív típusokhoz

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

Kimenet

 Négy található.

A fenti program, amit használnak, nem primitív adattípusok Stringés használt Arrays„s stream()módszert először átalakítani, hogy egy patak, és anyMatch()ellenőrizni, hogy a tömb tartalmazza az adott értéket toFind.

érdekes cikkek...