Translate

lunes, 26 de noviembre de 2018

Como es streams en Kotlin?


En Java 8 tenemos los Streams que nos permiten convertir o filtrar colecciones.

Veamos un ejemplo:

List<String> names = Arrays.asList("Joe", "Jack", "William", "Averell");
List<String> jNames = names.stream()
                           .filter(name -> name.startsWith("J"))
                           .collect(Collectors.toList());

Veamos ahora como haríamos lo mismo con Kotlin:

val names = listOf("Joe", "Jack", "William", "Averell")
val jNames = names.filter { it.startsWith("J") }

La pregunta es por que escribimos mucho menos en Kotlin. Esto es una ventaja del azúcar sintáctico + convención ante configuración. Otro temita es que kothin no es lazy como streams de java. Pero eso es tema para otro post.