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")) // falseKotlin 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) // falseMoż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) // trueOperator 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.
Wyzwanie
ŚredniOtrzymasz 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
noznaczająca liczbę dozwolonych nazw użytkowników - Kolejne
nwierszy: 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 grantedJeśli nazwą użytkownika do sprawdzenia jest david, wynikiem powinno być:
Access deniedSpró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
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz14Zaawansowane listy
Wycinanie listy za pomocą SubListWycinanie listy za pomocą Take i DropOperatory sekwencjiMetoda ContainsPowtórka — wyszukiwanie strony3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin