Sobes.tech
Junior

Na čo slúži metóda limit() v streamoch?

sobes.tech AI

Odpoveď od AI

Metóda limit(long maxSize) v Java Stream API je určená na vytvorenie nového streamu, ktorý obsahuje prvky pôvodného streamu v množstve, ktoré neprekračuje maxSize. Ide o medzioperáciu, ktorá odstraňuje zostávajúce prvky po spracovaní určeného množstva.

Hlavné efekty:

  • Obmedzenie veľkosti: Uplatňuje obmedzenie na maximálny počet prvkov vo výslednom streamu.
  • Lenivosť: Výpočet prvkov prebieha iba vtedy, keď sú skutočne požadované terminálnou operáciou, až kým sa nedosiahne stanovený limit.
  • Možnosť skrátenia: Ak pôvodný stream obsahuje viac prvkov, než maxSize, stream bude skrátený na maxSize prvkov. Ak menej, budú použité všetky dostupné prvky.

Príklad použitia:

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

List<String> prvéDveMená = mená.stream()
                                    .limit(2) // Obmedzí stream na prvé dva prvky
                                    .collect(Collectors.toList()); // Zbiera do zoznamu

// prvéDveMená bude obsahovať ["Alice", "Bob"]