Sobes.tech
Senior

Streamтерде аралык жана акыркы ыкмалар эмнелер?

sobes.tech AI

AIден жооп

Java Stream API-де ыкмолор аралык (intermediate) жана акыркы (terminal) деп бөлүнөт.

  • Аралык ыкмолор жаңы поток (stream) кайтарат жана операциялардын чынжырын түзүүгө мүмкүндүк берет. Алар сарамжал, башкача айтканда, алар дароо ишке ашпайт, бирок гана акыркы ыкманы чакырганда. Мисалдар: filter(), map(), sorted(), distinct().

  • Акыркы ыкмалар потоктун иштетүүнү баштайт жана натыйжаны (поток эмес) кайтарат. Алардын чакырылышынан кийин чынжыр бүтөт. Мисалдар: collect(), forEach(), reduce(), count().

Мисал:

List<String> names = List.of("Anna", "Bob", "Charlie", "David");

long count = names.stream()  // аралык ыкма stream()
    .filter(name -> name.length() > 3)  // аралык ыкма filter()
    .count();  // акыркы ыкма count()

System.out.println(count);  // 3 белгиден узун аттардын санын чыгарат