Bilindiği gibi Java'da diziler (vektörler ve matrisler) sabit boyutludur ve boyutları değiştirilemez. Diziler yerine ArrayList ise dinamik boyutludur ve boyutları değiştirilebilir. Peki ArrayList kullanamadığımız bir kod olduğunu varsayalım. Elimizde 5 tamsayı saklayan bir dizi var ve bu dizinin eleman sayısını artırmamız gerekiyor (10 olsun), hiç mi çıkış yolumuz yok? Belkş aynı dizinin boyutlarını değiştiremeyiz ama mevcut dizinin elemanlarını alarak yeni bir dizi tanımlayıp boyutlarını da yeniden düzenleyebiliriz.
Arrays.copyOf(int[] eskiDizi, int yeniBoyut) olarak yeniden eski dizinin elemanları ile yeniden boyut tanımlamak mümkündür.
int[] dizi1= {1, 2, 3, 4, 5};
int[] dizi2=Arrays.copyOf(dizi1, 10);
dizi2[5]=6;
dizi2[6]=7;
dizi2[7]=8;
dizi2[8]=9;
dizi2[9]=10;
System.out.println("ilk dizi:"+Arrays.toString(dizi1));
System.out.println("ikinci dizi:"+Arrays.toString(dizi2));
Çıktı:
ilk dizi:[1, 2, 3, 4, 5]
ikinci dizi:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Böylece Java'da dizi kopyalama örneği de vermiş olduk.