Sobes.tech
Junior

K čemu slouží metoda limit() ve streamech?

sobes.tech AI

Odpověď od AI

Metoda limit(long maxSize) v API Java Stream je určena k vytvoření nového proudu, který obsahuje prvky původního proudu v množství nepřevyšujícím maxSize. Jedná se o mezitímní operaci, která odstraňuje zbývající prvky po zpracování stanoveného množství.

Hlavní efekty:

  • Omezení velikosti: Aplikuje omezení na maximální počet prvků ve výsledném proudu.
  • Línost: Výpočet prvků probíhá pouze tehdy, když jsou skutečně požadovány terminální operací, dokud není dosaženo stanoveného limitu.
  • Možnost zkrácení: Pokud původní proud obsahuje více prvků než maxSize, bude zkrácen na maxSize prvků. Pokud méně, budou použity všechny dostupné prvky.

Příklad použití:

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

List<String> prvihDvaJmena = jmena.stream()
                                    .limit(2) // Omezí proud na první dva prvky
                                    .collect(Collectors.toList()); // Sesbírá do seznamu

// prvihDvaJmena bude obsahovat ["Alice", "Bob"]