Recursividad. Filter

Clase 44 de 47Curso Básico de Kotlin 2019

La función filter es un claro ejemplo de cómo se utilizan las funciones de orden superior.

Una función filter recibirá como parámetro una función en forma de lambda:

{ parametros -> acciones }

Esta lambda puede ser mucho más simplificada si utilizamos el auxiliar it de esta forma podemos poner las acciones únicamente sin necesidad de expresar los parámetros.

El nombre filter indicará filtrar datos que cumplan la condición especificada. Podemos colocar una comparación lógica, o utilizar un método, pero debemos estar conscientes que el resultado siempre será una nueva colección de datos en lugar del valor lógico en sí.

val numbersInt = listOf(4,3,2) numbersInt.filter { it % 2 == 0 } Este será el resultado: [4,2]

Filtremos usando una función que devuelva un valor lógico:

val words = listOf("Oasis","Hola", "Holanda", "Objeto") words.filter { it.startsWith('O') } Este será el resultado: [Oasis, Objeto]

Similar a Filter, existen otras funciones que nos ayudaran a "filtrar" o a dejar lo más limpia y clara la lista inicial. Hay unas de ordenamiento, otras que nos permiten tomar los primeros elementos, etc. Escribe en la sección de discusiones cuáles pueden ser de utilidad para manejar y limpiar datos.