Kotlin-programma om te controleren of een array een bepaalde waarde bevat

In dit programma leer je controleren of een array een bepaalde waarde bevat in Kotlin.

Voorbeeld 1: Controleer of Int Array een bepaalde waarde bevat

 fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 3 var found = false for (n in num) ( if (n == toFind) ( found = true break ) ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Wanneer u het programma uitvoert, is de uitvoer:

 3 is gevonden.

In het bovenstaande programma hebben we een reeks gehele getallen opgeslagen in variabele num. Evenzo wordt het nummer dat moet worden gevonden, opgeslagen in toFind.

Nu gebruiken we een for-inlus om alle elementen van num te doorlopen en afzonderlijk te controleren of toFind gelijk is aan n of niet.

Zo ja, dan zetten we gevonden in trueen breken we uit de lus. Zo niet, dan gaan we naar de volgende iteratie.

Voorbeeld 2: controleer of de array de opgegeven waarde bevat met Stream

 import java.util.stream.IntStream fun main(args: Array) ( val num = intArrayOf(1, 2, 3, 4, 5) val toFind = 7 val found = IntStream.of(*num).anyMatch ( n -> n == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Wanneer u het programma uitvoert, is de uitvoer:

 7 is niet gevonden.

In het bovenstaande programma, in plaats van een foreach-lus te gebruiken, converteren we de array naar een IntStreamen gebruiken we zijn anyMatch()methode.

anyMatch()methode heeft een predikaat, een uitdrukking of een functie die een booleaanse waarde retourneert. In ons geval vergelijkt het predikaat elk element n in de stroom met toFind en retourneert trueof false.

Als een van de elementen n terugkeert true, wordt found ook ingesteld op true.

Voorbeeld 3: controleer of array een bepaalde waarde bevat voor niet-primitieve typen

 import java.util.Arrays fun main(args: Array) ( val strings = arrayOf("One", "Two", "Three", "Four", "Five") val toFind = "Four" val found = Arrays.stream(strings).anyMatch ( t -> t == toFind ) if (found) println("$toFind is found.") else println("$toFind is not found.") )

Wanneer u het programma uitvoert, is de uitvoer:

 Vier zijn gevonden.

In het bovenstaande programma hebben we een niet-primitief gegevenstype Stringgebruikt Arraysen de stream()methode van gebruikt om het eerst naar een stream anyMatch()te converteren en om te controleren of de array de gegeven waarde toFind bevat.

Hier is de equivalente Java-code: Java-programma om te controleren of de array een bepaalde waarde bevat.

Interessante artikelen...