Demmer üsulu

Böyük həcmli məlumatlarla əməliyyatlar həyata keçirməyi planlaşdırırsınızsa, Java Stream API və onun üsulları bu işdə mütləq sizə kömək edəcəkdir. Onları xatırlamaq o qədər də çətin deyil. Bu gün biz yuxarıdakı misalda **rəqəmlərin cəmlənməsi metoduna baxacağıq - IntStream.sum()**. Bu metodun əsas vəzifəsi **seçilmiş axının bütün elementlərini əlavə etməkdir**. Eyni zamanda, onunla istənilən rəqəmi və ya Boolean dəyərini asanlıqla əlavə edə bilərik (və ya istəsəniz çoxalda bilərik). Bəli, sonda ikiqat qiymət alırıq, lakin Java-da biz ikiqat tipə öyrəşmişik, çünki burada aparıcı rol oynayır. Beləliklə, gəlin öyrənək. Siz **java 8-in daha təkmil funksional interfeysi** – Təchizatçı haqqında məlumatınız olmadan bunu edə bilməyəcəksiniz. Sadə axın-da biz əvvəllər məlumat mənbəyi kimi göstərilən bir kök kolleksiyası ilə yalnız sum() metodu ilə işləməyə öyrəşmişiksə, o zaman təchizatçıdan** istifadə edərək hər dəfə təkrarlamadan** yeni məlumat mənbələri yarada bilərik. Bunu etmək üçün yeni mənbələr yaratmalı olduğumuz məlumat növünü göstərməliyik və bununla da metodun sərhədlərini təyin edəcəyik. Əslində, biz dəyərləri daşıyan və bəzi əməliyyatları yerinə yetirən xüsusi bir sinif yaradırıq, məsələn, ip yaratmaq. Bu belə görünəcək: Mənbə mənbə = təchizatçı::get;

Java8-də bu belə görünür:

public int[] sumSources(int[] numbersArray) { int sum = numbersArray.length == 0? 0 : numbersArray[0]; final int[] arr = yeni int[numbersArray.length]; for(int i = 0 , j = 1 ; i < numbersArray.lenght ; i++) arr[i] = rown[i] + arr[i]; // создаем новый источник для последующего запроса методов с помощью Stream api return arr; } Тут у нас есть генератор источника и запрашивающий. Нет ли