Java - Dizileri Kopyalama

İçindekiler
kavramlarına hakim olduktan sonra dizi ve onu nasıl dolduracağımızı ve birinden nasıl geçeceğimizi, ayrıca kesinlikle üretmemiz gerekecek. dizilerin kopyaları, çünkü çoğu zaman, başka amaçlar için kullanacağımız bir orijinali değiştirmeden söz konusu dizinin içeriğini işlememiz gerekecek.
Kopyalama çok basit bir etkinlik gibi görünse de, gerçekten kopyalamaktan biraz daha karmaşıktır. dizi değeri bu türden başka bir bildirilen değişkene.
Dizileri Kopyalama
Programlarımızın mantığının bir parçası olarak, muhtemelen bir noktada ihtiyaç duyacağız. bir diziyi farklı bir değişkene kopyalaProgramın başka bir örneğindeki elemanlarla çalışabilmek için başta da belirttiğimiz gibi diziyi içeren değişkeni bir başkasına atamak uygun bir çözüm değildir.
Ödevi şu şekilde yaptığımızı varsayalım:
varArrar2 = varArray1;

Bu durumda sözdizimsel bir hata yoktur, bu nedenle komut döngüye girmeye çalışsak bile sorunsuz çalışır. varArray2 sahip olduğumuzu bildiğimiz değerleri elde edeceğiz varArray1, o zaman sorunun nerede olduğunu merak ediyorsun, sorun şu ki bu talimatta ne yaptın Java referansı ilk dizinin içeriğine kopyalamaktı, bu yüzden ikisinden birinde bir değişiklik yaparsak, ikisi de değişikliği görecekler.
Gördüğümüz gibi, referansı etkili bir şekilde kopyalamak istemediğimiz sürece bu çok etkili bir yöntem değildir.
Bir diziyi kopyalamanın doğru yolugerçekleştirmenin birkaç yolu vardır. bir dizinin kopyası, ilk diziden geçen bir döngü kullanarak ve değerleri ikinciye atayarak, statik dizi kopyalama yöntemi sınıfta neler var sistem ve son olarak kullanarak klon yöntemiAncak, ikincisi burada gördüğümüzden biraz daha gelişmiş.
Döngü Kullanmak
Bu hepsinden en basit yöntemdir, biraz zahmetli olmasına rağmen amacı doğru bir şekilde yerine getirir ve orijinalin kopyası olacak ve ondan tamamen bağımsız yeni bir dizi elde etmemizi sağlar, yapacağımız bu kopyayı yapmak için aşağıdakileri yapın:
 int [] varArray1 = {2, 3, 1, 5, 10}; int [] varArray2 = yeni int [varArray1.length]; for (int i = 0; i <varArray1.length; i ++) {varArray2 [i] = varArray1 [i]; } 

Gördüğümüz gibi, çok basit bir şey, elimizde ilk dizi içeriğinde zaten atanmış bir dizi değer ile bir ikinci dizi ve boyutunun orijinal dizinin uzunluğu olacağını ve son olarak bir döngü için yeni dizimize ilk dizinin döngüsünün konumuna karşılık gelen değeri atadık.
Arraycopy yöntemini kullanma
Biraz daha az kod kullanan daha basit bir yol, statik yöntemdir dizi kopyası, bu yöntem adlandırma kuralını bozar Java ancak doğru çalışıyor, onu kullanmak için aşağıdakileri yapmalıyız:
System.arraycopy (varArray1, varArray1_pos, varArray2, varArray2_pos, uzunluk);

Tek satırda gördüğümüz gibi problemi çözüyoruz, metot ilk argümanında kopyalayacağımız diziyi alıyor, sonra kopyalayacağımız yerden başlangıç ​​konumunu, ardından kopyanın hedef dizisini alıyor. , ilk konumu ve son olarak kopya uzunluğu:

Son olarak, bir diziyi kopyalamanın, değişken ataması kadar basit olmasa da, bu öğreticide açıklanan yöntemleri kullanarak nispeten kolay bir iş olduğunu gördük.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave