Menu
Coddy logo textTech

Il metodo contains

Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 82 di 93.

Un'operazione comune quando si lavora con le liste è verificare se un elemento specifico è presente nella raccolta. Kotlin fornisce il metodo contains() a questo scopo, che restituisce true se l'elemento viene trovato e false altrimenti.

val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana"))  // true
println(fruits.contains("Grape"))   // false

Kotlin offre anche un’alternativa più leggibile usando l’operatore in, che fa esattamente la stessa cosa:

val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers)   // true
println(10 in numbers)  // false

Puoi anche verificare se un elemento non è in una lista usando !in:

val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
    println("Yellow is not available")
}

Questi controlli funzionano anche con le stringhe, consentendoti di verificare se esiste un carattere o una sottostringa:

val word = "Kotlin"
println('K' in word)      // true
println("otl" in word)    // true

L’operatore in è particolarmente utile nelle istruzioni condizionali e rende il codice più espressivo e facile da leggere rispetto a scorrere manualmente un elenco per trovare un elemento.

challenge icon

Sfida

Medio

Riceverai un elenco di nomi utente consentiti e un nome utente da verificare. Determina se il nome utente è presente nell'elenco consentito usando l'operatore in.

Se il nome utente è nell'elenco, stampa Access granted. Se il nome utente non è nell'elenco, stampa Access denied.

Formato dell'input:

  • Prima riga: un intero n che rappresenta il numero di nomi utente consentiti
  • Le successive n righe: stringhe che rappresentano i nomi utente consentiti
  • Ultima riga: il nome utente da verificare

Formato dell'output:

Stampa Access granted oppure Access denied a seconda che il nome utente sia presente nell'elenco consentito.

Esempio:

Se l'elenco consentito è ["alice", "bob", "charlie"] e il nome utente da verificare è bob, l'output dovrebbe essere:

Access granted

Se il nome utente da verificare è david, l'output dovrebbe essere:

Access denied

Provalo tu

fun main() {
    // Leggi il numero di nomi utente consentiti
    val n = readLine()!!.toInt()
    
    // Leggi i nomi utente consentiti in una lista
    val allowedUsernames = mutableListOf<String>()
    for (i in 1..n) {
        allowedUsernames.add(readLine()!!)
    }
    
    // Leggi il nome utente da controllare
    val usernameToCheck = readLine()!!
    
    // TODO: Scrivi il tuo codice qui sotto
    // Usa l'operatore 'in' per verificare se usernameToCheck è presente in allowedUsernames
    // Stampa "Access granted" se trovato, "Access denied" altrimenti
    
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin