Controleren of een Java-array een waarde bevat

Controleren Of Een Java Array Een Waarde Bevat



Een Java-array wordt gebruikt om meerdere numerieke waarden of tekenreekswaarden in een variabele op te slaan. Er bestaan ​​in Java veel opties om naar een bepaalde waarde in een array te zoeken. Het gebruik van de “for”-lus is de eenvoudigste manier om een ​​numerieke of tekenreekswaarde in de Java-array te zoeken. Er bestaan ​​echter veel ingebouwde functies in Java om naar een bepaalde waarde in een array te zoeken. De methoden om te controleren of een bepaalde waarde in een Java-array bestaat of niet met behulp van een lus en ingebouwde Java-functies worden in deze zelfstudie getoond.

Voorbeeld 1: Een “For”-lus gebruiken

Maak een Java-bestand met de volgende code die invoer van de gebruiker nodig heeft en controleer of de invoerwaarde in de array bestaat of niet met behulp van de 'for'-lus. In de code wordt een array met tekenreekswaarden gedefinieerd. Er wordt een tekenreekswaarde van de gebruiker overgenomen met behulp van de klasse “Scanner”. Vervolgens wordt dit vergeleken met elke waarde van de array. Als er een overeenkomst wordt gevonden, wordt de iteratie van de lus gestopt en wordt er een succesbericht afgedrukt.







// Importeer de scannermodule
java.util.Scanner importeren;
openbare klasse CheckArrayValue1 {
openbare statische leegte hoofd ( Snaar [ ] arg ) {

// Declareer een array met tekenreekswaarden
Snaar [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;

// Declareer een scannerobject
@ Waarschuwingen onderdrukken ( 'bron' )
Scannertaal = nieuwe scanner ( Systeem.in ) ;
System.out.println ( 'Voer een programmeertaalnaam in: ' ) ;

// Neem input van de gebruiker
Tekenreeksnaam = lang.nextLine ( ) ;

// Stel de variabele in op vals
Booleaanse waarde gevonden = vals ;

// Herhaal de lus om elke waarde van de lus te controleren
voor ( int ik = 0 ; i < strArray.lengte; ik++ ) {
// Vergelijk elke waarde van de array met de invoerwaarde
als ( naam.is gelijk aan ( strArray [ i ] ) )
{
// Druk het succesbericht af
System.out.println ( 'De '' + naam + '' bestaat in de array.' ) ;
// Stel de variabele in op WAAR
gevonden = WAAR ;
pauze ;
}
}

// Controleer de variabele om het foutbericht af te drukken
als ( ! gevonden )
System.out.println ( 'De '' + naam + '' bestaat niet in de array.' ) ;
}
}


Uitgang:



De volgende uitvoer wordt afgedrukt als Java wordt gebruikt als de invoerwaarde die bestaat in de arraywaarden:




De volgende uitvoer wordt afgedrukt als Perl als invoerwaarde wordt genomen die niet bestaat in de arraywaarden:





Voorbeeld 2: De methode Bevat() gebruiken

Maak een Java-bestand met de volgende code dat invoer van de gebruiker nodig heeft en controleer of de invoerwaarde in de array bestaat of niet met behulp van de methode bevat(). Deze methode retourneert true als de invoerwaarde in de array bestaat. Anders retourneert deze methode false.



// Importeer de benodigde modules
java.util.Scanner importeren;
java.util.Arrays importeren;
openbare klasse CheckArrayValue2 {
openbare statische leegte hoofd ( Snaar [ ] arg ) {

// Declareer een array met tekenreekswaarden
Snaar [ ] strArray = { 'Java' , 'C++' , 'C#' , 'VB.NET' , 'J#' } ;

// Declareer een scannerobject
@ Waarschuwingen onderdrukken ( 'bron' )

Scannerinvoer = nieuwe scanner ( Systeem.in ) ;
System.out.println ( 'Voer een programmeertaalnaam in: ' ) ;

// Neem input van de gebruiker
Tekenreeksnaam = input.nextLine ( ) ;

// Controleer of de waarde bestaat in de array of niet door gebruik te maken van contain ( ) methode
boolean gevonden = Arrays.asList ( strArray ) .bevat ( naam ) ;

// Stel de beginwaarde in in de uitvoervariabele
Tekenreeksuitvoer = 'De ' + naam;
// Stel het bericht in op de uitvoervariabele op basis van de gevonden variabele
uitgang += gevonden? 'bestaat in de array.' : 'bestaat niet in de array.' ;
// Druk de uitvoer af
System.out.println ( uitgang ) ;
}
}


Uitgang:

De volgende uitvoer wordt afgedrukt als PHP wordt gebruikt als invoerwaarde die niet bestaat in de arraywaarden:


De volgende uitvoer wordt afgedrukt als C++ wordt genomen als de invoerwaarde die bestaat in de arraywaarden:

Voorbeeld 3: Gebruik van de AnyMatch()-methode

Maak een Java-bestand met de volgende code dat invoer van de gebruiker nodig heeft en controleer of de invoerwaarde in de array bestaat of niet met behulp van de anyMatch() -methode van de klasse 'Stream'. Deze methode retourneert true als de invoerwaarde in de array bestaat. Anders retourneert deze methode false.

// Importeer de benodigde modules
java.util.Scanner importeren;
java.util.stream.IntStream importeren;
openbare klasse CheckArrayValue3
{
openbare statische leegte hoofd ( Snaar [ ] arg )
{

// Declareer een reeks getallen
int [ ] numArray = { 89 , Vier vijf , 72 , 67 , 12 , 43 } ;

// Declareer een scannerobject
@ Waarschuwingen onderdrukken ( 'bron' )

Scannerinvoer = nieuwe scanner ( Systeem.in ) ;
System.out.println ( 'Voer een nummer in om te zoeken: ' ) ;

// Neem input van de gebruiker
int num = input.nextInt ( ) ;

// Controleer of de waarde bestaat in de array of niet door anyMatch te gebruiken ( ) methode
boolean gevonden = IntStream.of ( numArray ) .anyMatch ( X - > x == nee ) ;

// Stel de beginwaarde in in de uitvoervariabele
Tekenreeksuitvoer = 'De ' + getal;
// Stel het bericht in op de uitvoervariabele op basis van de gevonden variabele
uitgang += gevonden? 'bestaat in de array.' : 'bestaat niet in de array.' ;
// Druk de uitvoer af
System.out.println ( uitgang ) ;
}
}


Uitgang:

De volgende uitvoer wordt afgedrukt als 45 wordt genomen als de invoerwaarde die bestaat in de arraywaarden:


De volgende uitvoer wordt afgedrukt als 100 wordt genomen als invoerwaarde die niet bestaat in de arraywaarden:

Conclusie

In deze tutorial worden aan de hand van meerdere voorbeelden drie verschillende manieren getoond om te controleren of de array een bepaalde waarde bevat of niet.