Junior — Middle
Můžete vysvětlit, co znamená pojem 'neterminální operace' při práci s datovými proudy v API Stream?
sobes.tech AI
Odpověď od AI
V API Stream v jazyce Java jsou operace rozděleny na terminální a neterminální (meziprodukty).
Neterminální operace je taková, která vrací nový proud (Stream) a neprovádí zpracování dat ihned. Slouží k vytvoření řetězce transformací, například filtrování, mapování, třídění.
Příklady neterminálních operací:
- filter()
- map()
- sorted()
- distinct()
Tyto operace jsou líné: nevykonávají se, dokud není zavolána terminální operace, například forEach(), collect(), count().
Příklad:
List<String> list = Arrays.asList("a", "bb", "ccc");
list.stream()
.filter(s -> s.length() > 1) // neterminální
.map(String::toUpperCase) // neterminální
.forEach(System.out::println); // terminální
Tímto způsobem neterminální operace umožňují vytvářet řetězce transformací, zatímco terminální spouští vykonávání.