SORU
30 HAZİRAN 2011, PERŞEMBE


java arraylist kopyala

Boyutu 10 ArrayList l1 var. Yeni liste referans türü l2-l1 biçerim. L1 ve l2 noktasına aynı arraylist nesnesi olacak? Ya arraylist nesnesinin bir kopyasını l2 atanır. L2 referans Kullanarak çünkü, eğer ben listeyi güncellemek nesne, l1 başvuru türü değişiklikleri de yansıtır.

örn.

List<Integer> l1 = new ArrayList<Integer>();
for(int i=1;i<=10;i  )
   l1.add(i);
List l2 = l1;
l2.clear();

Yeni bir referans değişkeni için nesne listesi dışında 2 liste nesneleri oluştururken, eski ve yeni gelen koleksiyonları üzerinde kopyalama yaparken bir kopyasını atamak için başka bir yol var mı?

Şimdiden teşekkürler

CEVAP
30 HAZİRAN 2011, PERŞEMBE


Evet, atama sadece kopyalardeğerl1 başvuru) l2. Aynı nesne sevk edecektir.

Sığ bir kopyasını oluşturmak oldukça kolay olsa

List<Integer> newList = new ArrayList<Integer>(oldList);

(Sadece bir örnek.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Britec09

    Britec09

    4 Mart 2009
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • Vsauce

    Vsauce

    30 Temmuz 2007