typestar

filter y map en Java

Transformar colecciones sin escribir un bucle.

import java.util.List;

var numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

var evens = numbers.stream().filter(n -> n % 2 == 0).toList();
System.out.println(evens);

var squares = numbers.stream().map(n -> n * n).limit(4).toList();
System.out.println(squares);

// los streams son perezosos: nada corre sin que una operación terminal lo pida
var firstBig = numbers.stream().map(n -> n * n)
    .filter(sq -> sq > 20).findFirst();
System.out.println(firstBig.orElse(-1));

Cómo funciona

  1. filter conserva lo que el predicado acepta; map transforma.
  2. toList materializa; limit se detiene temprano.
  3. Los streams son perezosos: findFirst se detiene en la primera coincidencia.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
470
Tokens
152
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 101 segundos.

Escribe este fragmento

Paso 1 de 3 en Streams; paso 22 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →