CodeBlanks Logo Icon CodeBlanks

Dizi kopyalama

System.arraycopy ile kopyalamayı öğrenirsin.

Dizi kopyalama

System.arraycopy bir dizinin bir kısmını başka diziye kopyalar. Beş parametre alır:

int[] src = {1, 2, 3};
int[] dest = new int[3];
System.arraycopy(src, 0, dest, 0, 3);
// dest = {1, 2, 3}

Parametreler: kaynak dizi, kaynak başlangıç indeksi, hedef dizi, hedef başlangıç indeksi, kopyalanacak eleman sayısı. Hedef dizinin yeterince büyük olması gerekir; aksi halde hata fırlatır.

arraycopy parametreleri

System.arraycopy(src, srcPos, dest, destPos, length) — beş parametre sırayla:

  • src: kaynak dizi
  • srcPos: kaynak başlangıç indeksi
  • dest: hedef dizi
  • destPos: hedef başlangıç indeksi
  • length: kopyalanacak eleman sayısı

Örneğin System.arraycopy(src, 1, dest, 0, 2), src'nin 1. indeksinden başlayıp 2 elemanı dest'in 0. indeksine kopyalar. Kısmı kopyalama için srcPos ve length ayarlanır.

Uygulama Dizi kopyala ve yazdır

Bir Main sınıfı ve main metodu yaz. int[] src değişkenine {1, 2, 3} ata. int[] dest değişkenine new int[3] ata. System.arraycopy(src, 0, dest, 0, 3) ile kopyala. System.out.println(dest[0]) ile hedefin ilk elemanını yazdır.

Örnek çözüm

Main.java
public class Main {
    public static void main(String[] args) {
        int[] src = {1, 2, 3};
        int[] dest = new int[3];
        System.arraycopy(src, 0, dest, 0, 3);
        System.out.println(dest[0]);
    }
}

Beklenen çıktı

1

Soru ve cevaplar

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

1 arraycopy çağrısını tamamla

Soru
System.array____(src, 0, dest, 0, 3);
Cevap
System.arraycopy(src, 0, dest, 0, 3);

Açıklama: System.arraycopy beş parametreyle kopyalar.

2 arraycopy parametrelerini eşleştir

Kavram Anlamı
src Kaynak
dest Hedef
srcPos Kaynak başı
length Eleman sayısı

3 System.arraycopy(src, 0, dest, 0, n) — n nedir?

  • Kaynak dizi
  • Kopyalanacak eleman sayısı Doğru cevap
  • Hedef dizi
  • Başlangıç indeksi

Açıklama: n kopyalanacak eleman sayısıdır.

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