Operasi Rentang dan Agregasi
range, sum, average, summaryStatistics.
Operasi Rentang dan Agregasi adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.
Menghasilkan Rentang
IntStream.range(start, end) menghasilkan bilangan bulat berurutan dari awal hingga, tetapi tidak termasuk, akhir.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
IntStream.range(0, 5).forEach(System.out::println);
}
}rangeClosed Menyertakan Akhir
IntStream.rangeClosed(start, end) menyertakan nilai terakhir, sehingga rangeClosed(1, 5) menghasilkan 1 hingga 5.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
int sum = IntStream.rangeClosed(1, 5).sum();
System.out.println(sum);
}
}Menggantikan Perulangan Berbasis Indeks
Rentang merupakan pengganti yang rapi untuk perulangan for berbasis indeks saat melakukan iterasi pada posisi array.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
String[] names = {"a", "b", "c"};
IntStream.range(0, names.length)
.forEach(i -> System.out.println(i + ": " + names[i]));
}
}sum
sum menjumlahkan semua elemen dan mengembalikan hasil primitif.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
int total = IntStream.rangeClosed(1, 100).sum();
System.out.println(total);
}
}average
average mengembalikan OptionalDouble karena stream mungkin kosong.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
double avg = IntStream.of(2, 4, 6, 8).average().getAsDouble();
System.out.println(avg);
}
}min dan max
min dan max mengembalikan OptionalInt. Gunakan getAsInt jika Anda mengetahui bahwa stream tidak kosong.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
int hi = IntStream.of(3, 9, 1, 7).max().getAsInt();
int lo = IntStream.of(3, 9, 1, 7).min().getAsInt();
System.out.println(lo + " .. " + hi);
}
}count
count mengembalikan jumlah elemen sebagai long.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
long n = IntStream.rangeClosed(1, 50).filter(x -> x % 3 == 0).count();
System.out.println(n);
}
}summaryStatistics
summaryStatistics menghitung jumlah, total, nilai minimum, rata-rata, dan nilai maksimum dalam satu kali lintasan, lalu mengembalikan IntSummaryStatistics.
import java.util.IntSummaryStatistics;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
IntSummaryStatistics stats = IntStream.of(5, 10, 15, 20).summaryStatistics();
System.out.println(stats);
}
}Membaca Statistik Individual
Objek ringkasan menyediakan getCount, getSum, getMin, getMax, dan getAverage.
import java.util.IntSummaryStatistics;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
IntSummaryStatistics s = IntStream.rangeClosed(1, 10).summaryStatistics();
System.out.println("count=" + s.getCount());
System.out.println("avg=" + s.getAverage());
System.out.println("max=" + s.getMax());
}
}Menggabungkan Rentang dan Agregat
Rentang dan agregat dapat disusun secara alami: menghasilkan, mengubah, lalu reduce menjadi satu angka.
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
int sumOfSquares = IntStream.rangeClosed(1, 4)
.map(n -> n * n)
.sum();
System.out.println(sumOfSquares);
}
}Agregat LongStream
LongStream menyediakan metode rentang dan agregat yang sama, dengan mengembalikan LongSummaryStatistics.
import java.util.stream.LongStream;
public class Main {
public static void main(String[] args) {
long sum = LongStream.rangeClosed(1, 1000).sum();
System.out.println(sum);
}
}Pemeriksaan Singkat
Apa perbedaan antara range dan rangeClosed?
Ringkasan
Anda menghasilkan dan merangkum rentang primitif:
rangetidak menyertakan nilai akhir;rangeClosedmenyertakannya.- Agregat:
sum,average(OptionalDouble),min/max(OptionalInt),count. summaryStatisticsmenghitung semuanya dalam satu kali lintasan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Operasi Rentang dan Agregasi” gratis?
Ya — teks lengkap “Operasi Rentang dan Agregasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Operasi Rentang dan Agregasi”?
range, sum, average, summaryStatistics. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Operasi Rentang dan Agregasi” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- IntStream dan LongStream
- Operasi Rentang dan Agregasi
- Pemetaan ke dan dari Stream Objek
- Membuat Stream Primitif