Arrays.fill ve copyOf
Dizileri doldurun ve yeniden boyutlandırın
Arrays.fill ve copyOf, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Dizileri Doldurma
Arrays.fill, dizinin her öğesini aynı değere ayarlar. Diziyi yerinde değiştirir ve verileri başlatmak veya sıfırlamak için kullanışlıdır.
Temel Bir Doldurma
Bir dizinin tamamını tek bir değerle doldurun.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = new int[5];
Arrays.fill(nums, 7);
System.out.println(Arrays.toString(nums));
}
}Bir Aralığı Doldurma
Arrays.fill(array, from, to, value), dizinin yalnızca bir bölümünü doldurur. Aralık from değerini içerir ve to değerini içermez.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = new int[6];
Arrays.fill(nums, 2, 5, 9);
System.out.println(Arrays.toString(nums));
}
}Nesne Dizilerini Doldurma
Fill yöntemi nesne dizilerinde de çalışır. Bir nesneyle doldurduğunuzda her yuvanın aynı başvuruyu gösterdiğine dikkat edin.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] grid = new String[4];
Arrays.fill(grid, "empty");
System.out.println(Arrays.toString(grid));
}
}copyOf ile Yeniden Boyutlandırma
Dizilerin uzunluğu sabittir. Daha büyük veya daha küçük bir dizi elde etmek için Arrays.copyOf(array, newLength), istenen boyutta yeni bir dizi döndürür.
Bir Diziyi Büyütme
Yeni uzunluk daha büyük olduğunda, ek yuvalara varsayılan değer atanır: sayısal türler için 0, boolean için false ve nesneler için null.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
int[] bigger = Arrays.copyOf(nums, 5);
System.out.println(Arrays.toString(bigger));
}
}Bir Diziyi Küçültme
Yeni uzunluk daha küçük olduğunda dizi kırpılır ve sondaki öğeler atılır.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5};
int[] smaller = Arrays.copyOf(nums, 3);
System.out.println(Arrays.toString(smaller));
}
}Bir Aralığı Kopyalama
Arrays.copyOfRange(array, from, to) bir dilimi yeni bir diziye kopyalar. Yine from dahil, to hariçtir.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {10, 20, 30, 40, 50};
int[] middle = Arrays.copyOfRange(nums, 1, 4);
System.out.println(Arrays.toString(middle));
}
}copyOf Değişiklik Yapmaz
fill yönteminin aksine copyOf özgün diziyi değiştirmez ve tamamen yeni bir dizi döndürür. Özgün dizi ile kopya birbirinden bağımsızdır.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] original = {1, 2, 3};
int[] copy = Arrays.copyOf(original, 3);
copy[0] = 99;
System.out.println("Original: " + Arrays.toString(original));
System.out.println("Copy: " + Arrays.toString(copy));
}
}Elle Yeniden Boyutlandırma Kalıbı
ArrayList kullanılmadan önce programlar, dizileri daha büyük bir diziye kopyalayarak büyütürdü. copyOf kapasiteyi tek çağrıda iki katına çıkarır.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] data = {1, 2, 3, 4};
data = Arrays.copyOf(data, data.length * 2);
data[4] = 5;
System.out.println(Arrays.toString(data));
}
}fill ve copyOf
Aradaki farkı unutmayın: fill mevcut yuvaların üzerine yerinde yazar ve herhangi bir değer döndürmez; copyOf yeniden boyutlandırılmış bir kopya oluşturup onu döndürür. Yeni bir uzunluğa ihtiyacınız olup olmadığına göre seçim yapın.
Kısa Kontrol
fill ve copyOf konusundaki anlayışınızı sınayın.
Özet
Dizileri doldurmayı ve yeniden boyutlandırmayı öğrendiniz.
Arrays.filltüm öğeleri veya bir aralıktaki öğeleri yerinde tek bir değere ayarlar.Arrays.copyOfbelirli bir uzunlukta yeni bir dizi döndürür; gerekirse sonuna değer ekler veya diziyi kırpar.Arrays.copyOfRangebir dilimi kopyalar.- copyOf özgün veriyi bozmaz; fill ise diziyi değiştirir.
Sıkça Sorulan Sorular
“Arrays.fill ve copyOf” dersi ücretsiz mi?
Evet — “Arrays.fill ve copyOf” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Arrays.fill ve copyOf” dersinde ne öğreneceğim?
Dizileri doldurun ve yeniden boyutlandırın Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Arrays.fill ve copyOf” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Arrays.sort ve Sıralama
- Arrays.binarySearch
- Arrays.fill ve copyOf
- Arrays.equals ve toString