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:

  1. Dijeljenje an int od strane drugog int vraća an int proizlaziti. Da bismo dobili točan prosjek, prvo bacamo iznos do dvostruko.
  2. 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.