typestar

Streams numéricos en Java

IntStream hace la matemática sin el boxing.

import java.util.stream.IntStream;

// summaryStatistics responde cuatro preguntas en una sola pasada
var stats = IntStream.of(3, 8, 2, 9, 4).summaryStatistics();
System.out.println("sum " + stats.getSum());
System.out.println("avg " + stats.getAverage());
System.out.println("max " + stats.getMax());

// reduce pliega de izquierda a derecha a través de un acumulador
var product = IntStream.rangeClosed(1, 5).reduce(1, (a, b) -> a * b);
System.out.println("5! = " + product);

System.out.println(IntStream.range(0, 5).boxed().toList());

Cómo funciona

  1. summaryStatistics responde suma, promedio y máximo en una pasada.
  2. reduce es el pliegue general: una semilla y combinar de izquierda a derecha.
  3. boxed regresa a objetos cuando la meta es una List.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
538
Tokens
143
Ritmo de tres estrellas
90 tpm

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

Escribe este fragmento

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

← Anterior Siguiente →