Java-program för att kontrollera om en matris innehåller ett givet värde

I det här programmet lär du dig att kontrollera om en matris innehåller ett visst värde i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java Arrays
  • Java-datatyper (primitiva)

Exempel 1: Kontrollera om Int Array innehåller ett visst värde

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

Produktion

 3 hittas.

I ovanstående program har vi en rad heltal lagrade i variabelnum. På samma sätt lagras numret som ska hittas i toFind.

Nu använder vi en för varje slinga för att itera igenom alla element i num och kontrollera individuellt om toFind är lika med n eller inte.

Om ja, ställer vi in ​​på trueoch bryter från slingan. Om inte, går vi vidare till nästa iteration.

Exempel 2: Kontrollera om en matris innehåller ett visst värde med hjälp 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."); ) )

Produktion

 7 hittades inte.

I programmet ovan, istället för att använda en för varje slinga, konverterar vi matrisen till en IntStreamoch använder dess anyMatch()metod.

anyMatch()metoden tar ett predikat, ett uttryck eller en funktion som returnerar ett booleskt värde. I vårt fall jämför predikatet varje element n i strömmen till toFind och returnerar trueeller false.

Om något av elementet n returnerar true, är det också inställt att hitta true.

Exempel 3: Kontrollera om en matris innehåller ett givet värde för icke-primitiva 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."); ) )

Produktion

 Fyra finns.

I ovanstående program, har vi använt en icke-primitiv datatyp Stringoch används Arrays: s stream()metod att först konvertera den till en ström och anyMatch()för att kontrollera om arrayen innehåller det givna värdet tofind.

Intressanta artiklar...