Sobes.tech
Junior

¿Para qué sirve el método limit() en los streams?

sobes.tech AI

Respuesta de la IA

El método limit(long maxSize) en la API de Streams de Java está diseñado para crear un nuevo stream que contiene los elementos del stream original en una cantidad que no exceda maxSize. Es una operación intermedia que descarta los elementos restantes después de que se ha procesado la cantidad especificada.

Efectos principales:

  • Limitación de tamaño: Aplica una restricción en la cantidad máxima de elementos en el stream resultante.
  • Pereza: La evaluación de los elementos ocurre solo cuando realmente se solicitan mediante una operación terminal, hasta alcanzar el límite establecido.
  • Posibilidad de recorte: Si el stream original contiene más elementos que maxSize, el stream será recortado a maxSize elementos. Si tiene menos, se usarán todos los elementos disponibles.

Ejemplo de uso:

List<String> nombres = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eve");

List<String> primerosDosNombres = nombres.stream()
                                      .limit(2) // Limitamos el stream a los primeros dos elementos
                                      .collect(Collectors.toList()); // Recolectamos en una lista

// primerosDosNombres contendrá ["Alice", "Bob"]