Operadores de secuencias
Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 81 de 93.
Kotlin proporciona el operador + para combinar listas, lo que facilita fusionar colecciones. Esto funciona de forma similar a cómo concatenas cadenas.
Para unir dos listas en una sola, simplemente usa el operador +:
val first = listOf(1, 2, 3)
val second = listOf(4, 5, 6)
val combined = first + second
println(combined) // [1, 2, 3, 4, 5, 6]También puedes añadir un solo elemento a una lista usando el mismo operador:
val colors = listOf("Red", "Green")
val moreColors = colors + "Blue"
println(moreColors) // [Red, Green, Blue]El operador - elimina elementos de una lista. Crea una lista nueva sin el elemento especificado:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - 2
println(result) // [1, 3, 2, 4]Observa que solo se elimina la primera aparición del elemento. Para eliminar todos los elementos coincidentes, restarías una lista en su lugar:
val numbers = listOf(1, 2, 3, 2, 4)
val result = numbers - listOf(2)
println(result) // [1, 3, 4]Estos operadores siempre devuelven una lista nueva: las listas originales permanecen sin cambios. Esto hace que sea seguro usarlos sin preocuparte por modificar accidentalmente tus datos.
Desafío
IntermedioRecibirás dos listas de enteros y un único entero que debes eliminar. Combina las dos listas usando el operador + y después elimina todas las apariciones del entero especificado usando el operador - con una lista.
Imprime la lista resultante.
Formato de entrada:
- Primera línea: un entero
nque representa el número de elementos de la primera lista - Siguientes
nlíneas: enteros para la primera lista - Siguiente línea: un entero
mque representa el número de elementos de la segunda lista - Siguientes
mlíneas: enteros para la segunda lista - Última línea: el entero que se eliminará de la lista combinada
Formato de salida:
Imprime la lista resultante en el formato de lista predeterminado de Kotlin.
Ejemplo:
Si la primera lista es [1, 2, 3], la segunda lista es [2, 4, 2] y el número que se eliminará es 2, la lista combinada sería [1, 2, 3, 2, 4, 2]. Después de eliminar todas las apariciones de 2, la salida debería ser:
[1, 3, 4]Pruébalo tú mismo
fun main() {
// Leer la primera lista
val n = readLine()!!.toInt()
val list1 = mutableListOf<Int>()
repeat(n) {
list1.add(readLine()!!.toInt())
}
// Leer la segunda lista
val m = readLine()!!.toInt()
val list2 = mutableListOf<Int>()
repeat(m) {
list2.add(readLine()!!.toInt())
}
// Leer el entero a eliminar
val toRemove = readLine()!!.toInt()
// TODO: Escribe tu código aquí
// Combina las dos listas usando el operador +
// Elimina todas las ocurrencias de toRemove usando el operador - con una lista
// Imprime la lista resultante
println(result)
}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