SORU
27 Mart 2009, Cuma


Java Koleksiyonlar listesi - don't anlamak kopyala

ArrayList Bir ben var ve bunu tam olarak kopyalamak istiyorum. Birisi biraz zaman doğru yaparak geçirdi varsayımı üzerinde mümkün olduğunca yardımcı program sınıfları kullanıyorum. Bu yüzden doğal olarak, ben bir kopya yöntemi içeren Collections sınıf oluşur.

Aşağıdaki: yoktur sanırım

List<String> a = new ArrayList<String>();
a.add("a");
a.add("b");
a.add("c");
List<String> b = new ArrayList<String>(a.size());

Collections.copy(b,a);

Bu temelde b a tutmak için yeterince büyük olmadığını düşünmesi nedeniyle başarısız olur. Evet b 0, ama yeterince büyük şimdi değil olması gereken boyutu var biliyorum? Eğer b ilk doldurmak zorunda kalırsam, o zaman Collections.copy() aklımda tamamen işe yaramaz bir işlevi haline gelir. Bir kopyalama işlevi şimdi yapacağım) programlama dışında bunu yapmak için uygun bir yol var mı?

CEVAP
27 Mart 2009, Cuma


b vardırkapasite3 amaboyutu0. ArrayList tampon kapasitesi çeşit var aslında uygulama ayrıntı - List arayüz parçası değil, Collections.copy(List, List) kullanmaz. Bunun için çirkin 13 **-durum olurdu.

MrWiggles belirttiği gibi, bir koleksiyon alır ArrayList kurucu örnekte sağlanan için bir yoldur.

Daha karmaşık senaryolar için de gerçek kod içerebilir), Google Java Collections library yararlı olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010