Sobes.tech
Junior — Middle

Кай вақт Stream дар вақти истифодаи API Stream оғоз мешавад?

sobes.tech AI

Ҷавоб аз AI

Инициализацияи Stream дар Java дар вақте рух медиҳад, ки шумо як амали терминалро фаро мегиред. То он вақт, амалҳо дар болои Stream ленӣ (lazy) мебошанд ва иҷро намешаванд.

Яъне, вақте ки шумо Stream месозед ва амалҳои миёна (масалан, filter(), map()) татбиқ мекунед, онҳо танҳо занҷираи коркардаро ташкил медиҳанд, аммо ҳисоббарориро оғоз намекунанд.

Масалан:

List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
    .filter(s -> s.startsWith("a"))
    .map(String::toUpperCase);
// Ин ҷо ҳеҷ чиз рух намедиҳад

List<String> result = stream.collect(Collectors.toList()); // Амали терминал
// Ин ҷо коркарди унсурҳо оғоз мешавад

Бинобар ин, Stream танҳо вақте оғоз мешавад ва корро оғоз мекунад, ки амали терминал, мисли collect(), forEach(), reduce() ва ғайра, фаро гирифта шавад.