Junior — Middle
Կարո՞ղ է կրկնակի կիրառել տերմինալ մեթոդը մեկ հոսքի վրա Java-ի Stream API-ում:
sobes.tech AI
Պատասխան AI-ից
Ոչ, Java Stream API-ում տերմինալ մեթոդը կարելի է կիրառել միայն մեկ անգամ մեկ հոսքի վրա: Տերմինալ մեթոդի կանչից հետո հոսքը համարվում է փակ, և նույն հոսքի կրկնակի օգտագործումը կհանգեցնի IllegalStateException-ի:
Եթե անհրաժեշտ է կատարել մի քանի գործողություններ, պետք է ստեղծել նոր հոսք սկզբնական հավաքածուից կամ տվյալների աղբյուրից:
Օրինակ՝
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream();
long count = stream.count(); // տերմինալ մեթոդ
// stream.forEach(System.out::println); // կհանգեցնի IllegalStateException- ի
// Ճիշտ է՝
list.stream().forEach(System.out::println);