Arrays.fill
- Java kursu
- Başlangıç
- Ders 63/116
- 4 dk
Arrays.fill ile dizi doldurmayı öğrenirsin.
Dizi doldurma: Arrays.fill
Bir dizinin tüm elemanlarını aynı değerle doldurmak için Arrays.fill kullanılır. Bu, başlangıç değeri atamada oldukça pratiktir.
int[] board = new int[5];
Arrays.fill(board, 0);
// board: {0, 0, 0, 0, 0}İlk parametre dizi, ikinci parametre değerdir. Metot diziyi yerinde değiştirir; yeni dizi dönmez. Oyun tahtası, sayaç veya bayrak dizilerini sıfırlamak için idealdir.
Dizinin bir bölümünü doldurma
Arrays.fill aşırı yüklenmiş bir metottur: başlangıç ve bitiş indeksi vererek dizinin yalnızca bir bölümünü doldurabilirsin. Bitiş indeksi dahil değildir.
int[] row = new int[5];
Arrays.fill(row, 1, 4, 9);
// row: {0, 9, 9, 9, 0}İndeks 1, 2, 3 değeri 9 olur; indeks 0 ve 4 dokunulmaz. Bu yöntem, satırın ortasını işaretlemek gibi işlerde kullanışlıdır.
Uygulama Skor tablosunu sıfırla
5 elemanlı bir int[] dizisi oluştur, tüm elemanlarına Arrays.fill ile -1 değerini ver, sonra diziyi Arrays.toString ile yazdır.
Başlangıç kodu
public class Main {
public static void main(String[] args) {
// 5 elemanlı int dizisi oluştur
// Tüm elemanlara -1 değerini ver
// Diziyi yazdır
}
}Örnek çözüm
int[] board = new int[5];
Arrays.fill(board, -1);
System.out.println(Arrays.toString(board));Beklenen çıktı
[-1, -1, -1, -1, -1]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Senaryo ve metodu eşleştir
| Kavram | Anlamı |
|---|---|
Diziyi sırala |
Arrays.sort |
Diziyi metne çevir |
Arrays.toString |
Tüm elemanlara aynı değer |
Arrays.fill |
Yeni kopya al |
Arrays.copyOf |
2 Arrays.fill hangi değeri döndürür?
- İlk elemanı döner
- Yeni dolu bir dizi döner
- Doldurulan eleman sayısını döner
- void; diziyi yerinde değiştirir Doğru cevap
Açıklama: fill void bir metottur, diziyi yerinde doldurur.
3 Boşluğu doldur: tüm elemanlara 1 ver
int[] flags = new int[4];
Arrays.____(flags, 1);
int[] flags = new int[4];
Arrays.fill(flags, 1);
Açıklama: Arrays.fill(flags, 1) tüm bayrakları 1 yapar.