La méthode Contains
Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 82 sur 93.
Une tâche courante lors de l’utilisation de listes consiste à vérifier si un élément spécifique existe dans la collection. Kotlin fournit la méthode contains() à cette fin, qui renvoie true si l’élément est trouvé et false dans le cas contraire.
val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana")) // true
println(fruits.contains("Grape")) // falseKotlin propose également une alternative plus lisible utilisant l’opérateur in, qui fait exactement la même chose :
val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers) // true
println(10 in numbers) // falseVous pouvez également vérifier si un élément n’est pas dans une liste à l’aide de !in :
val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
println("Yellow is not available")
}Ces vérifications fonctionnent également avec les chaînes de caractères, ce qui vous permet de vérifier si un caractère ou une sous-chaîne existe :
val word = "Kotlin"
println('K' in word) // true
println("otl" in word) // trueL’opérateur in est particulièrement utile dans les instructions conditionnelles, car il rend votre code plus expressif et plus facile à lire que de parcourir manuellement une liste pour y trouver un élément.
Défi
MoyenVous recevrez une liste de noms d’utilisateur autorisés et un nom d’utilisateur à vérifier. Déterminez si le nom d’utilisateur existe dans la liste des noms autorisés à l’aide de l’opérateur in.
Si le nom d’utilisateur figure dans la liste, affichez Access granted. Si le nom d’utilisateur ne figure pas dans la liste, affichez Access denied.
Format d’entrée :
- Première ligne : un entier
nreprésentant le nombre de noms d’utilisateur autorisés - Les
nlignes suivantes : des chaînes représentant les noms d’utilisateur autorisés - Dernière ligne : le nom d’utilisateur à vérifier
Format de sortie :
Affichez soit Access granted, soit Access denied selon que le nom d’utilisateur existe ou non dans la liste des noms autorisés.
Exemple :
Si la liste des noms autorisés est ["alice", "bob", "charlie"] et que le nom d’utilisateur à vérifier est bob, la sortie doit être :
Access grantedSi le nom d’utilisateur à vérifier est david, la sortie doit être :
Access deniedEssayez vous-même
fun main() {
// Lire le nombre de noms d'utilisateur autorisés
val n = readLine()!!.toInt()
// Lire les noms d'utilisateur autorisés dans une liste
val allowedUsernames = mutableListOf<String>()
for (i in 1..n) {
allowedUsernames.add(readLine()!!)
}
// Lire le nom d'utilisateur à vérifier
val usernameToCheck = readLine()!!
// TODO: Écrivez votre code ci-dessous
// Utilisez l'opérateur 'in' pour vérifier si usernameToCheck existe dans allowedUsernames
// Print "Access granted" if found, "Access denied" if not
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloAffectation augmentéeOpérateurs de comparaisonRécapitulatif - Mathématiques simples7E/S de base
Fonction PrintlnModèles de chaînesEntrée ReadLineConversion de typeRécapitulatif - Années avant la retraiteRécapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourArguments nommésValeurs par défautFonctions à expression uniqueRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation2Variables
Val ou VarInférence de typeNombresChaîne de caractèresBooléenConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Opérateurs logiques, partie 3Ternaire avec une expression ifRécapitulatif - Logique simple8Calculateur de partage d’addition
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Aperçu du jeuLa fonction FizzBuzz14Listes avancées
Découpage de liste avec SubListDécoupage de liste avec Take DropOpérateurs de séquenceLa méthode ContainsRécapitulatif - Rechercher une page3Nullabilité
Qu’est-ce que la sécurité vis-à-vis de nullTypes nullableOpérateur d’appel sécuriséOpérateur ElvisBases des défis de fonctionsAssertion de non-nullitéRécapitulatif - Accès sécurisé6Prise de décision
Instruction IfIf - ElseIf comme expressionExpression WhenWhen avec des plagesRécapitulatif - Calculatrice simple9Boucles
Boucle ForBoucle WhileBoucle Do-WhileBreakContinuePlages dans les bouclesBoucle imbriquéeRécapitulatif - FactorielleRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Kotlin