Temukan Jumlah dan Rata-rata dalam Array Java

1. Perkenalan

Dalam tutorial singkat ini, kita akan membahas bagaimana kita dapat menghitung jumlah & rata-rata dalam larik menggunakan loop standar Java dan Stream API.

2. Temukan Jumlah Elemen Array

2.1. Jumlahkan Menggunakan For Loop

Untuk menemukan jumlah semua elemen dalam array, kita cukup mengulang array dan menambahkan setiap elemen ke jumlah yang terakumulasi.variabel.

Ini sangat sederhana dimulai dengan jumlah 0 dan menambahkan setiap item dalam array saat kita pergi:

public static int findSumWithoutUsingStream(int[] array) { int sum = 0; for (int value : array) { sum += value; } return sum; }

2.2. Jumlahkan Dengan Java Stream API

Kita dapat menggunakan Stream API untuk mencapai hasil yang sama:

public static int findSumUsingStream(int[] array) { return Arrays.stream(array).sum(); }

Penting untuk diketahui bahwa metode sum () hanya mendukung aliran tipe primitif.

Jika kita ingin menggunakan aliran pada nilai Integer kotak , pertama-tama kita harus mengubah aliran tersebut menjadi IntStream menggunakan metode mapToInt .

Setelah itu, kita dapat menerapkan metode sum () ke IntStream yang baru dikonversi :

public static int findSumUsingStream(Integer[] array) { return Arrays.stream(array) .mapToInt(Integer::intValue) .sum(); }

Anda dapat membaca lebih banyak tentang Stream API di sini.

3. Temukan Rata-rata di Array Java

3.1. Rata-rata Tanpa Stream API

Setelah kita mengetahui cara menghitung jumlah elemen array, mencari rata-rata cukup mudah - karena Rata - rata = Jumlah Elemen / Jumlah Elemen :

public static double findAverageWithoutUsingStream(int[] array) { int sum = findSumWithoutUsingStream(array); return (double) sum / array.length; }

Catatan :

  1. Membagi sebuah int oleh yang lain int mengembalikan sebuah int hasil. Untuk mendapatkan rata-rata yang akurat, pertama-tama kami memberikan jumlah menjadi dua kali lipat .
  2. Java Array memiliki field panjang yang menyimpan jumlah elemen dalam array.

3.2. Rata-rata Menggunakan Java Stream API

public static double findAverageUsingStream(int[] array) { return Arrays.stream(array).average().orElse(Double.NaN); }

IntStream.average () mengembalikan OpsionalDouble yang mungkin tidak berisi nilai dan memerlukan penanganan khusus.

Baca selengkapnya tentang Opsional di artikel ini dan tentang kelas OpsionalDouble di Dokumentasi Java 8.

4. Kesimpulan

Pada artikel ini, kami membahas cara menemukan jumlah / rata-rata elemen array int .

Seperti biasa, kode tersedia di Github.