Java-program for å sjekke om en matrise inneholder en gitt verdi

I dette programmet lærer du å sjekke om en matrise inneholder en gitt verdi i Java.

For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:

  • Java Arrays
  • Java datatyper (primitive)

Eksempel 1: Sjekk om Int Array inneholder en gitt verdi

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

Produksjon

 3 er funnet.

I programmet ovenfor har vi en rekke heltall lagret i variabel num. Likeledes lagres antallet som skal finnes i toFind.

Nå bruker vi en for hver sløyfe til å gjenta gjennom alle elementene i num og sjekke individuelt om toFind er lik n eller ikke.

Hvis ja, setter vi funnet til trueog bryter fra løkken. Hvis ikke, går vi til neste iterasjon.

Eksempel 2: Sjekk om en matrise inneholder gitt verdi ved hjelp av Stream

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

Produksjon

 7 er ikke funnet.

I det ovennevnte programmet, i stedet for å bruke en for-hver løkke, konverterer vi matrisen til en IntStreamog bruker anyMatch()metoden.

anyMatch()metoden tar et predikat, et uttrykk eller en funksjon som returnerer en boolsk verdi. I vårt tilfelle sammenligner predikatet hvert element n i strømmen med toFind og returnerer trueeller false.

Hvis noe av elementet n returnerer true, blir funnet også satt til true.

Eksempel 3: Sjekk om en matrise inneholder en gitt verdi for ikke-primitive typer

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

Produksjon

 Fire er funnet.

I programmet ovenfor, har vi brukt en ikke-primitiv datatype Stringog brukte Arrayssin stream()metode for å først konvertere den til en bekk og anyMatch()for å sjekke om matrisen inneholder den gitte verdien tofind.

Interessante artikler...