Метод на Демер

Ако планирате да извършвате операции с големи количества данни, тогава Java Stream API и неговите методи определено ще ви помогнат с това. Запомнянето им не е толкова трудно. Днес ще разгледаме **метода за сумиране на числа в горния пример - IntStream.sum()**. Основната задача на този метод е да **добави всички елементи от избрания поток**. В същото време можем лесно да добавим (или да умножим, ако желаете) всяко число или булева стойност с него. Да, накрая получаваме двойна стойност, но в Java сме свикнали с двойния тип, защото тук той играе водеща роля. Така че нека разберем. И няма да можете да направите това, без да познавате **по-разширения функционален интерфейс на java 8** – Доставчик. Ако в Simple stream сме свикнали да работим само с метода sum() с една основна колекция, която преди това е била посочена като източник на данни, тогава използвайки доставчик** можем да генерираме нови източници на данни всеки път без повторение**. За да направим това, трябва да посочим типа данни, за които трябва да генерираме нови източници, като по този начин ще зададем границите на метода. По същество ние създаваме специален клас, който носи стойности и изпълнява някои операции, например създаване на нишка. Ще изглежда така: Източник източник = доставчик::получи;

В Java8 изглежда нещо подобно:

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