2012-02-17 17 views
18

> 100k nesneler içeren bir TreeSet'i var. ArrayList'in bir parametre olarak kullanılmasını gerektiren başka bir yöntem var.Bir TreeSet'i ArrayList'e Dönüştürme?

Tüm TreeSet'i yinelemeden ve ardından her nesneyi ArrayList'e el ile eklemeden bunu başarabileceğim bir yol var mı?

+0

o sadece Collection almak üzere yöntem imzası dinlenmek mümkün mü? Bu şekilde kopyalama gerekli değildir. –

cevap

43

nasıl bu konuda:

new ArrayList<T>(set); 
+3

işaret ettiği gibi set.size() 'ye ihtiyacınız var. Bu, alacağınız en iyisidir. Doğrusal zaman gerektirmeyen bir çözüm yoktur. –

3

ArrayList güzel tasarıyı uyan bir kolaylık yöntemi addAll sahiptir:

final Set<Object> set = ... 
List<Object> list = new ArrayList<Object>(someBigNum); 
list.addAll(set); 
+4

someBigNum ayarlanmış olabilir.size() –

+1

someBigNum burada çok yanıltıcıdır ... Büyük bir nota ihtiyacınız yok. Kuldeep'in –