Sobes.tech
Junior — Middle

Мо метавонед шарҳ диҳед, ки мафҳуми 'амалиёти ғайриохирӣ' дар кор бо ҷараёнҳои маълумот дар API Stream чӣ маъно дорад?

sobes.tech AI

Ҷавоб аз AI

Дар API-и Stream-и Java амалҳо ба терминалӣ ва ғайри терминалӣ (аралӣ) тақсим мешаванд.

Амали ғайри терминалӣ амалест, ки ҷараёни нав (Stream) меорад ва коркарди маълумотро фавран оғоз намекунад. Он барои сохтани занҷири табдилотҳо, масалан, филтр, харита, сорт, хизмат мекунад.

Масаланҳои амалҳои ғайри терминалӣ:

  • filter()
  • map()
  • sorted()
  • distinct()

Ин амалҳо сусткор ҳастанд: онҳо то даъвати амалияи терминалӣ, масалан, forEach(), collect(), count() иҷро намешаванд.

Масалан:

List<String> list = Arrays.asList("a", "bb", "ccc");

list.stream()
    .filter(s -> s.length() > 1) // ғайри терминалӣ
    .map(String::toUpperCase)    // ғайри терминалӣ
    .forEach(System.out::println); // терминалӣ

Бинобар ин, амалҳои ғайри терминалӣ имкон медиҳанд, ки занҷири табдилотҳо сохта шавад, ва амалияи терминалӣ иҷроишро оғоз мекунад.