Pronađite zbroj i prosjek u Java nizu
1. Uvod
U ovom ćemo brzom vodiču pokriti kako možemo izračunati zbroj i prosjek u nizu koristeći i standardne petlje Java i Stream API.
2. Pronađite zbroj elemenata niza
2.1. Zbroj pomoću a Za Petlja
Da bismo pronašli zbroj svih elemenata u nizu, možemo jednostavno ponoviti niz i dodati svaki element u iznos gomilajući sevarijabilna.
Ovo vrlo jednostavno započinje s iznos od 0 i dodajte svaku stavku u polje kako idemo:
javni statični int findSumWithoutUsingStream (int [] niz) {int sum = 0; za (int vrijednost: niz) {zbroj + = vrijednost; } povratna suma; }
2.2. Zbroj s Java Stream API-jem
API Stream možemo koristiti za postizanje istog rezultata:
javni statički int findSumUsingStream (int [] niz) {return Arrays.stream (array) .sum (); }
Važno je znati da iznos() metoda podržava samo tokove primitivnog tipa.
Ako želimo koristiti stream na boxedu Cijeli broj vrijednost, prvo moramo pretvoriti tok u IntStream koristiti mapToInt metoda.
Nakon toga možemo primijeniti iznos() metoda našem novopreobraćenom IntStream:
javni statički int findSumUsingStream (polje Integer []) {return Arrays.stream (niz) .mapToInt (Integer :: intValue) .sum (); }
Puno više o Stream API-ju možete pročitati ovdje.
3. Pronađite prosjek u Java nizu
3.1. Prosječno bez Stream API-ja
Jednom kada znamo izračunati zbroj elemenata niza, pronalaženje prosjeka prilično je jednostavno - kao Prosjek = zbroj elemenata / broj elemenata:
javna statička dvostruka findAverageWithoutUsingStream (int [] niz) {int sum = findSumWithoutUsingStream (niz); povrat (dvostruka) suma / niz.duljina; }
Bilješke:
- Dijeljenje an int od strane drugog int vraća an int proizlaziti. Da bismo dobili točan prosjek, prvo bacamo iznos do dvostruko.
- Java Polje ima duljina polje koje pohranjuje broj elemenata u polju.
3.2. Prosječno korištenje Java Stream API-ja
javna statička dvostruka findAverageUsingStream (int [] niz) {return Arrays.stream (array) .average (). orElse (Double.NaN); }
IntStream.average () vraća an NeobveznoDvostruko koja ne može sadržavati vrijednost i koja treba posebno postupati.
Pročitajte više o Opcionalni u ovom članku i o NeobveznoDvostruko razreda u dokumentaciji Java 8.
4. Zaključak
U ovom smo članku istražili kako pronaći zbroj / prosjek int elementi niza.
Kao i uvijek, kôd je dostupan na Githubu.