Sobes.tech
Senior

Ի՞նչ են միջանկյալ և եզրափակիչ մեթոդները հոսքերում։

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-ից երկար անունների քանակը