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

  • BgirlNilaya

    BgirlNilaya

    29 EKİM 2008
  • Lancome USA

    Lancome USA

    30 HAZİRAN 2009
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009