Tässä ohjelmassa opit tarkistamaan, sisältääkö matriisi tietyn arvon Java-muodossa.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java-taulukot
- Java-tietotyypit (primitiivinen)
Esimerkki 1: Tarkista, sisältääkö Int Array tietyn arvon
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."); ) )
Tuotos
3 löytyy.
Yllä olevassa ohjelmassa meillä on joukko kokonaislukuja, jotka on tallennettu muuttujaan num. Samoin löydettävä numero tallennetaan ToFindiin.
Nyt käytämme jokaiselle silmukalle iteroimaan kaikkien num-elementtien läpi ja tarkistamme erikseen, onko toFind yhtä suuri kuin n.
Jos kyllä, asetimme löydetyn true
ja katkaistiin silmukasta. Jos ei, siirrymme seuraavaan iteraatioon.
Esimerkki 2: Tarkista Streamin avulla, onko taulukossa annettu arvo
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."); ) )
Tuotos
7 ei löydy.
Yllä olevassa ohjelmassa muunnetaan taulukko kullekin silmukalle sen sijaan, IntStream
että käytämme sen anyMatch()
menetelmää.
anyMatch()
menetelmä ottaa predikaatin, lausekkeen tai funktion, joka palauttaa loogisen arvon. Meidän tapauksessamme predikaatti vertaa jokaista elementtiä n streamissa etsimiseen ja palauttaa true
tai false
.
Jos jokin elementistä n palaa true
, löydetty on myös asetettu true
.
Esimerkki 3: Tarkista, sisältääkö taulukko tietyn arvon ei-primitiivisille tyypeille
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."); ) )
Tuotos
Neljä löytyy.
Edellä mainittuun ohjelmaan, olemme käyttäneet ei-primitiivinen tietotyyppi String
ja käytetään Arrays
n stream()
menetelmää ensin muuntaa sen virta ja anyMatch()
tarkistaa, onko jono sisältää tietyn arvon tofind.