En Java-matrise brukes til å lagre flere numeriske verdier eller strengverdier i en variabel. Det finnes mange alternativer i Java for å søke etter en bestemt verdi i en matrise. Å bruke 'for'-løkken er den enkleste måten å søke etter en numerisk eller strengverdi i Java-matrisen. Imidlertid finnes det mange innebygde funksjoner i Java for å søke etter en bestemt verdi i en matrise. Metodene for å sjekke om en bestemt verdi finnes i en Java-matrise eller ikke ved å bruke en sløyfe og innebygde Java-funksjoner, vises i denne opplæringen.
Eksempel 1: Bruke en 'For'-løkke
Lag en Java-fil med følgende kode som tar et input fra brukeren og sjekk om inngangsverdien finnes i arrayet eller ikke ved å bruke 'for'-løkken. En rekke strengverdier er definert i koden. En strengverdi hentes fra brukeren ved å bruke klassen 'Scanner'. Deretter sammenlignes dette med hver verdi av matrisen. Hvis noen samsvar blir funnet, stoppes iterasjonen av loopen og en suksessmelding skrives ut.
// Importer skannermodulen
import java.util.Scanner;
offentlig klasse CheckArrayValue1 {
offentlig statisk tomrom hoved ( String [ ] args ) {
// Deklarer en rekke strengverdier
String [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;
// Erklær et skannerobjekt
@ Undertrykk Advarsler ( 'ressurs' )
Scanner lang = ny skanner ( System.in ) ;
System.out.println ( 'Skriv inn et programmeringsspråknavn: ' ) ;
// Ta innspill fra brukeren
Strengnavn = lang.nextLine ( ) ;
// Sett variabelen til falsk
Boolsk funnet = falsk ;
// Iterer løkken for å sjekke hver verdi av løkken
til ( int i = 0 ; Jeg < strArray.length; i++ ) {
// Sammenlign hver verdi av matrisen med inngangsverdien
hvis ( navn.lik ( strArray [ Jeg ] ) )
{
// Skriv ut suksessmeldingen
System.out.println ( 'den' + navn + '' finnes i matrisen.' ) ;
// Sett variabelen til ekte
funnet = ekte ;
gå i stykker ;
}
}
// Sjekk variabelen for å skrive ut feilmeldingen
hvis ( ! funnet )
System.out.println ( 'den' + navn + '' eksisterer ikke i matrisen.' ) ;
}
}
Produksjon:
Følgende utdata skrives ut hvis Java tas som inngangsverdien som finnes i matriseverdiene:
Følgende utdata skrives ut hvis Perl tas som inngangsverdien som ikke finnes i matriseverdiene:
Eksempel 2: Bruk av Contains()-metoden
Lag en Java-fil med følgende kode som tar et input fra brukeren og sjekk om inngangsverdien finnes i matrisen eller ikke ved å bruke contains()-metoden. Denne metoden returnerer true hvis inngangsverdien finnes i matrisen. Ellers returnerer denne metoden false.
// Importer de nødvendige modulene
import java.util.Scanner;
importer java.util.Arrays;
offentlig klasse CheckArrayValue2 {
offentlig statisk tomrom hoved ( String [ ] args ) {
// Deklarer en rekke strengverdier
String [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;
// Erklær et skannerobjekt
@ Undertrykk Advarsler ( 'ressurs' )
Skannerinngang = ny skanner ( System.in ) ;
System.out.println ( 'Skriv inn et programmeringsspråknavn: ' ) ;
// Ta innspill fra brukeren
Strengnavn = input.nextLine ( ) ;
// Sjekk om verdien eksisterer i matrisen eller ikke ved å bruke inneholder ( ) metode
boolesk funnet = Arrays.asList ( strArray ) .inneholder ( Navn ) ;
// Still inn startverdien i utgangsvariabelen
Strengeutgang = 'den' + navn;
// Sett meldingen til utdatavariabelen basert på den funnet variabelen
utgang += funnet? 'eksisterer i arrayen.' : 'eksisterer ikke i matrisen.' ;
// Skriv ut utskriften
System.out.println ( produksjon ) ;
}
}
Produksjon:
Følgende utdata skrives ut hvis PHP tas som inngangsverdien som ikke finnes i matriseverdiene:
Følgende utdata skrives ut hvis C++ tas som inngangsverdien som finnes i matriseverdiene:
Eksempel 3: Bruk av AnyMatch()-metoden
Opprett en Java-fil med følgende kode som tar et input fra brukeren og sjekk om inngangsverdien finnes i arrayet eller ikke ved å bruke anyMatch()-metoden til 'Stream'-klassen. Denne metoden returnerer true hvis inngangsverdien finnes i matrisen. Ellers returnerer denne metoden false.
// Importer de nødvendige moduleneimport java.util.Scanner;
importer java.util.stream.IntStream;
offentlig klasse CheckArrayValue3
{
offentlig statisk tomrom hoved ( String [ ] args )
{
// Deklarer en rekke tall
int [ ] numArray = { 89 , Fire fem , 72 , 67 , 12 , 43 } ;
// Erklær et skannerobjekt
@ Undertrykk Advarsler ( 'ressurs' )
Skannerinngang = ny skanner ( System.in ) ;
System.out.println ( 'Skriv inn et tall for å søke: ' ) ;
// Ta innspill fra brukeren
int num = input.nextInt ( ) ;
// Sjekk om verdien eksisterer i matrisen eller ikke ved å bruke anyMatch ( ) metode
boolsk funnet = IntStream.of ( numArray ) .anyMatch ( x - > x == nei ) ;
// Still inn startverdien i utgangsvariabelen
Strengeutgang = 'den' + antall;
// Sett meldingen til utdatavariabelen basert på den funnet variabelen
utgang += funnet? 'eksisterer i arrayen.' : 'eksisterer ikke i matrisen.' ;
// Skriv ut utskriften
System.out.println ( produksjon ) ;
}
}
Produksjon:
Følgende utdata skrives ut hvis 45 tas som inngangsverdien som finnes i matriseverdiene:
Følgende utdata skrives ut hvis 100 tas som inngangsverdi som ikke finnes i matriseverdiene:
Konklusjon
Tre forskjellige måter å sjekke om matrisen inneholder en bestemt verdi eller ikke er vist i denne opplæringen ved hjelp av flere eksempler.