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
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.
Tür Listesi vs türü Java ArrayList...
Java dizi listesi dönüştürmek...
Java uyarı isimleri SuppressWarnings @...
java: ters listesi...
Sıralanmış dizi Java listesi...