Menu
Coddy logo textTech

Filtrar valores

Parte de la sección Lógica y flujo del Journey de Kotlin de Coddy. Lección 32 de 63.

filter conserva los elementos para los que una lambda de predicado devuelve true. Conserva su orden y puede devolver menos elementos o ninguno. Encadenar filter antes de map cambia únicamente los valores conservados.

Dentro de main:

println(listOf(-2, 0, 3, 4).filter { it > 0 }.map { it * 2 })

Solo tres y cuatro cumplen el predicado; después, esos valores se duplican.

filter decide la pertenencia mediante un predicado Boolean y conserva el orden de los elementos retenidos.

challenge icon

Desafío

Intermedio

Completa positiveValues con parámetros values: List<Int>. Devuelve solo los valores estrictamente positivos, conservando su orden de entrada. Usa filter.

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 su cantidad de 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 utilizan el formato estándar entre corchetes de Kotlin; no imprimas etiquetas adicionales.

Pruébalo tú mismo

fun positiveValues(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(positiveValues(values))
}
quiz iconPonte a prueba

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

Practica por tu cuenta: Playground de Kotlin