Se prevedi di eseguire operazioni con grandi quantità di dati, l'API Java Stream e i suoi metodi ti aiuteranno sicuramente in questo. Ricordarli non è così difficile. Oggi esamineremo il **metodo per sommare i numeri nell'esempio sopra: IntStream.sum()**. Il compito principale di questo metodo è **aggiungere tutti gli elementi dello stream selezionato**. Allo stesso tempo, possiamo facilmente aggiungere (o moltiplicare, se preferisci) qualsiasi numero o valore booleano con esso. Sì, alla fine otteniamo un valore double, ma in Java siamo abituati al tipo double, perché qui gioca un ruolo di primo piano. Quindi scopriamolo. E non sarai in grado di farlo senza la conoscenza dell'**interfaccia funzionale più avanzata di Java 8** – Fornitore. Se in Simple stream siamo abituati a operare solo con il metodo sum() con una raccolta root, precedentemente specificata come origine dati, allora utilizzando fornitore** possiamo generare nuove origini dati ogni volta senza ripetizioni**. Per fare ciò, dobbiamo indicare il tipo di dati per i quali dobbiamo generare nuove fonti, quindi stabiliremo i limiti del metodo. In sostanza stiamo creando una classe speciale che trasporta valori ed esegue alcune operazioni, ad esempio la creazione di un thread. Apparirà così: Source source = fornitore::get;
In Java8 assomiglia a questo:
public int[] sumSources(int[] numberArray) { int sum = numberArray.length == 0? 0: numeriArray[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; } Тут у нас есть генератор источника и запрашивающий. Нет ли