CodeBlanks Logo Icon CodeBlanks

Arrays.copyOf

Arrays.copyOf ile kopyalamayı öğrenirsin.

Dizi kopyalama: Arrays.copyOf

Bir dizinin kopyasını almak için Arrays.copyOf kullanılır. İlk parametre kaynak dizi, ikinci parametre yeni dizinin uzunluğudur.

int[] src = {1, 2, 3};
int[] copy = Arrays.copyOf(src, 3);
// copy: {1, 2, 3}

Yeni uzunluk kaynak dizininkinden küçükse dizi kırpılır; büyükse yeni elemanlar türün varsayılan değeriyle (int için 0) doldurulur. Orijinal dizi hiç değişmez.

Kırpma ve genişletme

İkinci parametreyi değiştirerek diziyi kırpabilir veya genişletebilirsin. Kırpma, orijinalın baştan bir kısmını alır; genişletme, fazlalığı varsayılan değerle doldurur.

int[] src = {10, 20, 30, 40};
int[] top2 = Arrays.copyOf(src, 2);
// top2: {10, 20}
int[] ext5 = Arrays.copyOf(src, 5);
// ext5: {10, 20, 30, 40, 0}

Bu davranış, sıfırdan yeni dizi oluşturmaktan hızlıdır; çünkü veriler tek seferde kopyalanır.

Uygulama İlk üç ürünün kopyasını al

Verilen 5 ürün kodundan ilk üçünü Arrays.copyOf ile kopyala ve kopyayı Arrays.toString ile yazdır.

Başlangıç kodu

Main.java
public class Main {
  public static void main(String[] args) {
    int[] codes = {101, 102, 103, 104, 105};
    // İlk üç kodu kopyala
    // Kopyayı yazdır
  }
}

Örnek çözüm

Main.java
int[] top3 = Arrays.copyOf(codes, 3);
System.out.println(Arrays.toString(top3));

Beklenen çıktı

[101, 102, 103]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Arrays.copyOf(src, 5) ne döndürür (src uzunluğu 3)?

Main.java
int[] src = {1, 2, 3};
int[] copy = Arrays.copyOf(src, 5);
  • 5 elemanlı dizi; son 2 eleman 0
  • 3 elemanlı dizi; uzunluk değişmez
  • 5 elemanlı dizi; son 2 eleman null Doğru cevap
  • Hata fırlatır; uzunluk aşılır

Açıklama: int dizide fazlalık 0 ile doldurulur.

2 Boşluğu doldur: kopya al

Soru
int[] src = {1, 2, 3};
int[] copy = Arrays.____(src, 3);
Cevap
int[] src = {1, 2, 3};
int[] copy = Arrays.copyOf(src, 3);

Açıklama: Arrays.copyOf(src, 3) yeni dizi döner.

3 Çağrı ve sonucu eşleştir

Kavram Anlamı
copyOf(src, 2) İlk 2 elemanı alır
copyOf(src, 5) Fazlalık 0 ile dolar
copyOf(src, 0) Boş dizi döner
copyOf(src, 3) Aynı uzunlukta kopya

Başlangıç bölümündeki tüm dersler