1. Gambaran keseluruhan
Dalam tutorial ini, kita akan meneroka pelbagai cara untuk menyenaraikan urutan nombor dalam julat.
2. Menyenaraikan Nombor dalam Julat
2.1. Tradisional untuk Gelung
Kita boleh menggunakan gelung tradisional untuk menghasilkan nombor dalam julat yang ditentukan:
public List getNumbersInRange(int start, int end) { List result = new ArrayList(); for (int i = start; i < end; i++) { result.add(i); } return result; }
Kod di atas akan menghasilkan senarai yang mengandungi nombor dari awal (inklusif) hingga akhir (eksklusif).
2.2. JDK 8 IntStream.range
IntStream , diperkenalkan di JDK 8, dapat digunakan untuk menghasilkan angka dalam julat tertentu, meringankan keperluan untuk gelung:
public List getNumbersUsingIntStreamRange(int start, int end) { return IntStream.range(start, end) .boxed() .collect(Collectors.toList()); }
2.3. IntStream.rangeTutup
Pada bahagian sebelumnya, hujungnya adalah eksklusif. Untuk mendapatkan nombor dalam julat di mana akhir adalah inklusif, ada IntStream.rangeClosed :
public List getNumbersUsingIntStreamRangeClosed(int start, int end) { return IntStream.rangeClosed(start, end) .boxed() .collect(Collectors.toList()); }
2.4. IntStream.iterate
Bahagian sebelumnya menggunakan julat untuk mendapatkan urutan nombor. Apabila kita mengetahui berapa banyak nombor dalam urutan yang diperlukan, kita dapat menggunakan IntStream.iterate :
public List getNumbersUsingIntStreamIterate(int start, int limit) { return IntStream.iterate(start, i -> i + 1) .limit(limit) .boxed() .collect(Collectors.toList()); }
Di sini, had parameter menghadkan bilangan elemen untuk melelar atas.
3. Kesimpulannya
Dalam artikel ini, kami melihat pelbagai cara menghasilkan nombor dalam julat.
Coretan kod, seperti biasa, terdapat di GitHub.