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ý namaxSizeprvkov. 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"]