Programma Kotlin per verificare se un array contiene un determinato valore

In questo programma imparerai a controllare se un array contiene un dato valore in Kotlin.

Esempio 1: verificare se Int Array contiene un determinato valore

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

Quando esegui il programma, l'output sarà:

 3 si trova.

Nel programma precedente, abbiamo un array di numeri interi memorizzati nella variabile num. Allo stesso modo, il numero da trovare viene memorizzato in toFind.

Ora, usiamo un for-inciclo per scorrere tutti gli elementi di num e controlliamo individualmente se toFind è uguale a no.

Se sì, impostiamo trovato truee interrompiamo il ciclo. In caso contrario, passiamo alla successiva iterazione.

Esempio 2: controlla se l'array contiene un valore dato usando 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.") )

Quando esegui il programma, l'output sarà:

 7 non è stato trovato.

Nel programma precedente, invece di usare un ciclo foreach, convertiamo l'array in un IntStreame usiamo il suo anyMatch()metodo.

anyMatch()metodo accetta un predicato, un'espressione o una funzione che restituisce un valore booleano. Nel nostro caso, il predicato confronta ogni elemento n nel flusso con toFind e restituisce trueo false.

Se uno qualsiasi degli elementi n ritorna true, anche trovato viene impostato su true.

Esempio 3: controlla se array contiene un dato valore per i tipi non primitivi

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

Quando esegui il programma, l'output sarà:

 Viene trovato quattro.

Nel programma sopra, abbiamo usato un tipo di dati non primitivo Stringe abbiamo usato Arraysil stream()metodo di per convertirlo prima in un flusso e anyMatch()per controllare se l'array contiene il valore dato toFind.

Ecco il codice Java equivalente: programma Java per verificare se l'array contiene un dato valore.

Articoli interessanti...