Menu
Coddy logo textTech

Metoda Contains

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 82 z 93.

Częstym zadaniem podczas pracy z listami jest sprawdzanie, czy dany element znajduje się w kolekcji. Kotlin udostępnia w tym celu metodę contains(), która zwraca true, jeśli element zostanie znaleziony, a w przeciwnym razie false.

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

Kotlin oferuje również bardziej czytelną alternatywę z użyciem operatora in, który robi dokładnie to samo:

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

Możesz też sprawdzić, czy elementu nie ma na liście, używając !in:

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

Te sprawdzenia działają również z ciągami znaków, umożliwiając sprawdzenie, czy istnieje znak lub podciąg:

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

Operator in jest szczególnie przydatny w instrukcjach warunkowych, dzięki czemu kod jest bardziej wyrazisty i łatwiejszy do odczytania niż ręczne iterowanie po liście w celu znalezienia elementu.

challenge icon

Wyzwanie

Średni

Otrzymasz listę dozwolonych nazw użytkowników oraz nazwę użytkownika do sprawdzenia. Użyj operatora in, aby ustalić, czy nazwa użytkownika znajduje się na liście dozwolonych.

Jeśli nazwa użytkownika znajduje się na liście, wypisz Access granted. Jeśli nazwy użytkownika nie ma na liście, wypisz Access denied.

Format danych wejściowych:

  • Pierwszy wiersz: liczba całkowita n oznaczająca liczbę dozwolonych nazw użytkowników
  • Kolejne n wierszy: ciągi znaków reprezentujące dozwolone nazwy użytkowników
  • Ostatni wiersz: nazwa użytkownika do sprawdzenia

Format danych wyjściowych:

Wypisz Access granted lub Access denied, w zależności od tego, czy nazwa użytkownika znajduje się na liście dozwolonych.

Przykład:

Jeśli lista dozwolonych nazw to ["alice", "bob", "charlie"], a nazwą użytkownika do sprawdzenia jest bob, wynikiem powinno być:

Access granted

Jeśli nazwą użytkownika do sprawdzenia jest david, wynikiem powinno być:

Access denied

Spróbuj swoich sił

fun main() {
    // Wczytaj liczbę dozwolonych nazw użytkowników
    val n = readLine()!!.toInt()
    
    // Wczytaj dozwolone nazwy użytkowników do listy
    val allowedUsernames = mutableListOf<String>()
    for (i in 1..n) {
        allowedUsernames.add(readLine()!!)
    }
    
    // Wczytaj nazwę użytkownika do sprawdzenia
    val usernameToCheck = readLine()!!
    
    // TODO: Napisz swój kod poniżej
    // Użyj operatora 'in', aby sprawdzić, czy usernameToCheck znajduje się w allowedUsernames
    // Wypisz "Access granted", jeśli znaleziono, lub "Access denied", jeśli nie
    
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin