El método Contains
Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 82 de 93.
Una tarea común al trabajar con listas es comprobar si existe un elemento específico en la colección. Kotlin proporciona el método contains() para este propósito, que devuelve true si se encuentra el elemento y false en caso contrario.
val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana")) // true
println(fruits.contains("Grape")) // falseKotlin también ofrece una alternativa más legible usando el operador in, que hace exactamente lo mismo:
val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers) // true
println(10 in numbers) // falseTambién puedes comprobar si un elemento no está en una lista usando !in:
val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
println("Yellow is not available")
}Estas comprobaciones también funcionan con cadenas, lo que te permite verificar si existe un carácter o una subcadena:
val word = "Kotlin"
println('K' in word) // true
println("otl" in word) // trueEl operador in es especialmente útil en las instrucciones condicionales, ya que hace que tu código sea más expresivo y fácil de leer que iterar manualmente por una lista para encontrar un elemento.
Desafío
IntermedioRecibirás una lista de nombres de usuario permitidos y un nombre de usuario que debes comprobar. Determina si el nombre de usuario existe en la lista de permitidos utilizando el operador in.
Si el nombre de usuario está en la lista, imprime Access granted. Si el nombre de usuario no está en la lista, imprime Access denied.
Formato de entrada:
- Primera línea: un entero
nque representa el número de nombres de usuario permitidos - Siguientes
nlíneas: cadenas que representan los nombres de usuario permitidos - Última línea: el nombre de usuario que se debe comprobar
Formato de salida:
Imprime Access granted o Access denied según si el nombre de usuario existe en la lista de permitidos.
Ejemplo:
Si la lista de permitidos es ["alice", "bob", "charlie"] y el nombre de usuario que se debe comprobar es bob, la salida debería ser:
Access grantedSi el nombre de usuario que se debe comprobar es david, la salida debería ser:
Access deniedPruébalo tú mismo
fun main() {
// Lee el número de nombres de usuario permitidos
val n = readLine()!!.toInt()
// Lee los nombres de usuario permitidos en una lista
val allowedUsernames = mutableListOf<String>()
for (i in 1..n) {
allowedUsernames.add(readLine()!!)
}
// Lee el nombre de usuario a verificar
val usernameToCheck = readLine()!!
// TODO: Escribe tu código debajo
// Usa el operador 'in' para comprobar si usernameToCheck existe en allowedUsernames
// Print "Access granted" if found, "Access denied" if not
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación aumentadaOperadores de comparaciónRepaso: matemáticas simples7Entrada y salida básicas
Función PrintlnPlantillas de cadenasEntrada con ReadLineConversión de tiposRepaso - Años hasta la jubilaciónRepaso - Verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoArgumentos con nombreValores predeterminadosFunciones de una sola expresiónRepaso - Función SigmaRepaso - Función de validación2Variables
Val frente a VarInferencia de tiposNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Ternario con expresión ifRepaso: lógica simple8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz14Listas avanzadas
Segmentación de listas con SubListSegmentación de listas con Take DropOperadores de secuenciasEl método ContainsRepaso - Buscar una página3Nullabilidad
Qué es la seguridad frente a valores nulosTipos anulablesOperador de llamada seguraOperador ElvisConceptos básicos de retos de funcionesAfirmación de no nulidadRepaso: acceso seguro6Toma de decisiones
Sentencia ifIf - ElseIf como expresiónExpresión whenWhen con rangosRepaso - Calculadora simple9Bucles
Bucle ForBucle WhileBucle Do-WhileBreakContinueRangos en buclesBucle anidadoRepaso - FactorialRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Kotlin