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

  • Jay Will

    Jay Will

    19 NİSAN 2006
  • John Lynn

    John Lynn

    8 Ocak 2010
  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010