Sobes.tech
Junior

Para que serve o método limit() nos streams?

sobes.tech IA

Resposta da IA

O método limit(long maxSize) na API de Streams do Java destina-se a criar um novo stream contendo os elementos do stream original numa quantidade que não exceda maxSize. É uma operação intermédia que descarta os elementos restantes após o processamento da quantidade especificada.

Efeitos principais:

  • Limitação de tamanho: Aplica uma restrição ao número máximo de elementos no stream resultante.
  • Preguiça: A avaliação dos elementos ocorre apenas quando eles são realmente solicitados por uma operação terminal, até atingir o limite definido.
  • Possibilidade de corte: Se o stream original contiver mais elementos do que maxSize, o stream será cortado até maxSize elementos. Se tiver menos, todos os elementos disponíveis serão usados.

Exemplo de uso:

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

List<String> primeirosDoisNomes = nomes.stream()
                                    .limit(2) // Limita o stream aos dois primeiros elementos
                                    .collect(Collectors.toList()); // Recolhe numa lista

// primeirosDoisNomes conterá ["Alice", "Bob"]