Dizi kopyalama
- Java kursu
- Başlangıç
- Ders 57/116
- 4 dk
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 dizisrcPos: kaynak başlangıç indeksidest: hedef dizidestPos: hedef başlangıç indeksilength: 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
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
System.array____(src, 0, dest, 0, 3);
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.