2010-06-28 24 views
6

bir SortedSet bu şekilde tanımlanmıştır:SortedSet öğelerine bir Diziden nasıl eklenir?

SortedSet<RatedMessage> messageCollection = new TreeSet<RatedMessage>(new Comp()); 

ve I grubu seri özelliği kaçırır olarak diziyi kullanmak zorunda RatedMessage []

bir dizi bilgisi, artık onu oluşturmak için gereken geri.

Diziden tüm öğeleri tekrar kümeye eklemenin hızlı bir yolu var mı?

cevap

9
Collections.addAll(messageCollection, array); 

Michael'ın cevabı İşlevsel olarak özdeş fakat javadoc diyor:

Belirtilen tüm öğeleri belirtilen koleksiyona ekler. 'a eklenecek öğeler tek tek veya bir dizi olarak belirtilebilir. Bu kolaylık yöntemin davranışını özdeş olduğu c.addAll (Arrays.asList (elemanları)), ancak bu yöntem daha hızlı en uygulamaları altında önemli ölçüde çalıştırmak için olasıdır.

+0

Oh, aferin. "Bu kolaylık yönteminin davranışı, c.addAll (Arrays.asList (elements)) ile aynıdır, ancak bu yöntem çoğu uygulamada önemli ölçüde daha hızlı çalışabilir." –

+0

Aynı alıntıyı eklerken olduğu gibi. =) – ColinD

5

Set bir addAll yöntemi vardır, ama ilk dizi dönüştürmek gerekir bu yüzden sadece bir koleksiyon alır:

RatedMessage[] arr; 
messageCollection.addAll(Arrays.asList(arr)); 
+0

+1 ile Arrays.asListkullanılarak içine SortedSetRatedMessage [] dizi ekleyebilir; aynısını göndermek üzereyken yüklü. – Carl

1

için TreeSet

String RatedMessage[]={"1","2","3","1","4","3"}; 
SortedSet lst= new TreeSet(Arrays.asList(RatedMessage)); 
Iterator it = lst.iterator(); 
     while(it.hasNext()) 
     { 
      Object ob= it.next(); 
      System.out.println(ob); 
     }