Demmer-methode

Als u van plan bent bewerkingen met grote hoeveelheden gegevens uit te voeren, dan zullen de Java Stream API en zijn methoden u hierbij zeker helpen. Ze onthouden is niet zo moeilijk. Vandaag zullen we kijken naar de **methode voor het optellen van getallen in het bovenstaande voorbeeld - IntStream.sum()**. De belangrijkste taak van deze methode is om **alle elementen van de geselecteerde stream toe te voegen**. Tegelijkertijd kunnen we er eenvoudig elk getal of een Booleaanse waarde mee optellen (of vermenigvuldigen, als je wilt). Ja, uiteindelijk krijgen we een dubbele waarde, maar in Java zijn we gewend aan het dubbele type, omdat het hier een hoofdrol speelt. Dus laten we het uitzoeken. En u zult dit niet kunnen doen zonder kennis van de **meer geavanceerde functionele interface van Java 8** – Leverancier. Als we in Simple stream gewend zijn om alleen met de methode sum() te werken met één rootcollectie, die eerder als gegevensbron is opgegeven, dan kunnen we met behulp van leverancier** elke keer nieuwe gegevensbronnen genereren zonder herhaling**. Om dit te doen, moeten we aangeven voor welk type gegevens we nieuwe bronnen moeten genereren, en daarbij de grenzen voor de methode bepalen. In wezen creëren we een speciale klasse die waarden draagt ​​en enkele bewerkingen uitvoert, bijvoorbeeld het maken van een thread. Het ziet er als volgt uit: Bron source = leverancier::get;

In Java8 ziet het er ongeveer zo uit:

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