Sobes.tech
Middle

Дархостҳо дар стримҳо чӣ гунаанд ва кадом намудҳои дархостҳо мавҷуданд?

sobes.tech AI

Ҷавоб аз AI

В Java 8+ потокҳо пешниҳод мекунанд як маҷмӯъ амалҳо барои коркарди ҷамъиятҳои маълумот.

Намудҳои амалҳо:

  1. Миёна (Intermediate): Нав потокро бармегардонад. Мумкин аст бо хомӯшӣ иҷро шавад. Имкон медиҳад, ки амалҳоро пайванд кардан. Ба онҳо дохил мешаванд:

    • filter()
    • map()
    • flatMap()
    • distinct()
    • sorted()
    • peek()
    • limit()
    • skip()
  2. Терминалӣ (Terminal): Корро бо поток анҷом медиҳад, коркардаро иҷро мекунад ва натиҷаро бармегардонад ё таъсири тарафро ба вуҷуд меорад. Пас аз иҷрои амалҳои терминалӣ, поток дубора истифода намешавад. Ба онҳо дохил мешаванд:

    • forEach()
    • forEachOrdered()
    • toArray()
    • reduce()
    • collect()
    • count()
    • sum()
    • average()
    • min()
    • max()
    • anyMatch()
    • allMatch()
    • noneMatch()
    • findFirst()
    • findAny()

Намунаи пайванди амалҳо:

// Амалҳои миёна (filter, map)
// Амали терминалӣ (collect)
List<String> filteredList = originalList.stream()
    .filter(s -> s.startsWith("A")) // Филтратсия кардани унсурҳое, ки бо "A" оғоз мешаванд
    .map(String::toUpperCase) // Табдил додан ба ҳарфҳои калон
    .collect(Collectors.toList()); // Ҷамъоварии натиҷаҳо дар рӯйхат