Sobes.tech
Junior

Pentru ce este destinat metoda limit() în stream-uri?

sobes.tech AI

Răspuns de la AI

Metoda limit(long maxSize) din API-ul Stream din Java are scopul de a crea un nou stream care conține elementele stream-ului original în cantitatea care nu depășește maxSize. Este o operație intermediară care elimină elementele rămase după ce a fost procesată cantitatea specificată.

Efecte principale:

  • Limitarea dimensiunii: Aplică o restricție asupra numărului maxim de elemente din stream-ul rezultat.
  • Lene: Calculul elementelor are loc doar atunci când acestea sunt solicitate efectiv de o operație terminală, până când se atinge limita stabilită.
  • Posibilitatea de tăiere: Dacă stream-ul original conține mai multe elemente decât maxSize, acesta va fi tăiat până la maxSize elemente. Dacă are mai puține, se vor folosi toate elementele disponibile.

Exemplu de utilizare:

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

List<String> primeleDouaNume = nume.stream()
                                    .limit(2) // Limitează stream-ul la primele două elemente
                                    .collect(Collectors.toList()); // Colectează într-o listă

// primeleDouaNume va conține ["Alice", "Bob"]