Transformar con Map
Parte de la sección Lógica y flujo del Journey de Kotlin de Coddy. Lección 31 de 63.
La operación de colección map aplica una lambda a cada elemento y devuelve una nueva lista de resultados en el mismo orden. Esta operación es diferente del tipo de colección Map: transforma valores y no crea entradas de clave-valor a menos que tu lambda devuelva pares.
Dentro de main:
val lengths = listOf("sun", "rain").map { it.length }
println(lengths)Cada palabra se convierte en su longitud, mientras que el orden y la cantidad de elementos permanecen iguales.
map devuelve un resultado transformado por cada elemento de entrada, conservando el orden.
Desafío
IntermedioCompleta squares con los parámetros values: List<Int>. Devuelve el cuadrado de cada valor en el orden de entrada. Los valores están entre -1000 y 1000. Usa map.
A menos que se indiquen límites más estrictos arriba, las colecciones contienen como máximo 100 elementos en cada nivel, y los argumentos enteros y los valores enteros de las colecciones están entre -1000 y 1000. El texto proporcionado para el análisis puede incluir representaciones no válidas o fuera de rango, como se describe.
Devuelve un valor de tipo List<Int>. Conserva el código de entrada/salida proporcionado. Lee los argumentos escalares, uno por línea; una lista comienza con su cantidad, seguida de sus elementos, y un mapa comienza con la cantidad de sus entradas, seguida de cada clave y valor. Las listas anidadas repiten el formato de cantidad y elementos para cada fila. El main proporcionado imprime el valor devuelto seguido de un salto de línea. Las listas usan el formato estándar entre corchetes de Kotlin; no imprimas etiquetas adicionales.
Pruébalo tú mismo
fun squares(values: List<Int>): List<Int> {
// Escribe tu solución aquí.
return emptyList()
}
fun main() {
val valuesCount = readln().toInt()
val values = mutableListOf<Int>()
for (i0 in 0 until valuesCount) {
val valuesItem = readln().toInt()
values.add(valuesItem)
}
println(squares(values))
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y flujo
1Mapas Parte 1
Crear mapasBúsquedas seguras en mapasActualizar mapasComprobar clavesRepaso - Stock Desk4Colecciones anidadas
Listas de listasRecorrer filasResúmenes de filasAplanar listas anidadasRepaso: filas de asientos7Flujos de colecciones
Transformar con MapFiltrar valoresProbar reglas de coleccionesAcumular con FoldRepaso: totales aprobados2Mapas, parte 2
Iterar entradas de mapasClaves y valoresMapas de frecuenciaMapas anidadosRepaso: informe de frecuencias5Proyecto - Agenda de contactos
Guardar contactosBuscar contactos3Conjuntos y pertenencia
Crear conjuntosActualizar conjuntosOperaciones con conjuntosComprobación de subconjuntosRepaso: invitados al evento6Valores de función
Escribir lambdasTipos de funciónPasar funcionesVariables capturadasRepaso - Puntuación configurablePractica por tu cuenta: Playground de Kotlin