Menu
Coddy logo textTech

Die Contains-Methode

Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 82 von 93.

Eine häufige Aufgabe bei der Arbeit mit Listen besteht darin zu prüfen, ob ein bestimmtes Element in der Sammlung vorhanden ist. Kotlin stellt hierfür die Methode contains() bereit, die true zurückgibt, wenn das Element gefunden wird, und andernfalls false.

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

Kotlin bietet außerdem eine besser lesbare Alternative mit dem Operator in, der genau dasselbe tut:

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

Du kannst auch prüfen, ob ein Element nicht in einer Liste enthalten ist, indem du !in verwendest:

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

Diese Prüfungen funktionieren auch mit Zeichenketten und ermöglichen es dir zu überprüfen, ob ein Zeichen oder eine Teilzeichenkette vorhanden ist:

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

Der in-Operator ist besonders in bedingten Anweisungen nützlich und macht deinen Code ausdrucksstärker und leichter lesbar, als eine Liste manuell zu durchlaufen, um ein Element zu finden.

challenge icon

Aufgabe

Mittel

Du erhältst eine Liste erlaubter Benutzernamen und einen zu überprüfenden Benutzernamen. Bestimme mithilfe des Operators in, ob der Benutzername in der Liste der erlaubten Benutzernamen vorhanden ist.

Wenn sich der Benutzername in der Liste befindet, gib Access granted aus. Wenn sich der Benutzername nicht in der Liste befindet, gib Access denied aus.

Eingabeformat:

  • Erste Zeile: eine Ganzzahl n, die die Anzahl der erlaubten Benutzernamen angibt
  • Die nächsten n Zeilen: Zeichenfolgen, die die erlaubten Benutzernamen darstellen
  • Letzte Zeile: der zu überprüfende Benutzername

Ausgabeformat:

Gib abhängig davon, ob der Benutzername in der Liste der erlaubten Benutzernamen vorhanden ist, entweder Access granted oder Access denied aus.

Beispiel:

Wenn die Liste der erlaubten Benutzernamen ["alice", "bob", "charlie"] enthält und der zu überprüfende Benutzername bob ist, sollte die Ausgabe wie folgt aussehen:

Access granted

Wenn der zu überprüfende Benutzername david ist, sollte die Ausgabe wie folgt aussehen:

Access denied

Probier es selbst

fun main() {
    // Lies die Anzahl der erlaubten Benutzernamen
    val n = readLine()!!.toInt()
    
    // Lies die erlaubten Benutzernamen in eine Liste
    val allowedUsernames = mutableListOf<String>()
    for (i in 1..n) {
        allowedUsernames.add(readLine()!!)
    }
    
    // Lies den zu überprüfenden Benutzernamen
    val usernameToCheck = readLine()!!
    
    // TODO: Schreibe deinen Code darunter
    // Verwende den 'in'-Operator, um zu prüfen, ob usernameToCheck in allowedUsernames existiert
    // Print "Access granted" if found, "Access denied" if not
    
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Kotlin-Playground