2010-06-28 15 views
6

je SortedSet défini ainsi:Comment ajouter à des éléments SortedSet à partir d'un tableau?

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

et j'ai un tableau de RatedMessage []

je devais utiliser le tableau que l'ensemble manque la fonction de sérialisation, maintenant je dois construire arrière.

Existe-t-il un moyen rapide d'ajouter à nouveau tous les éléments de la matrice à l'ensemble?

Répondre

9
Collections.addAll(messageCollection, array); 

Fonctionnellement identique à la réponse de Michael, mais comme le javadoc dit:

Ajoute tous les éléments spécifiés à la collection spécifiée. Les éléments à ajoutés peuvent être spécifiés individuellement ou sous forme de tableau. Le comportement de cette méthode pratique est identique à que c.addAll (Arrays.asList (éléments)), mais cette méthode est susceptible de fonctionner nettement plus rapide dans la plupart des implémentations .

+0

Oh, bien joué. "Le comportement de cette méthode de commodité est identique à celui de c.addAll (Arrays.asList (elements)), mais cette méthode est susceptible de fonctionner beaucoup plus rapidement sous la plupart des implémentations." –

+0

Juste comme j'ajoutais cette même citation. =) – ColinD

5

Set a une méthode addAll, mais il ne prend une collection, vous aurez donc besoin de convertir le tableau d'abord:

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

+1; chargé juste comme j'étais sur le point de poster le même. – Carl

1

Vous pouvez ajouter RatedMessage [] Tableau dans SortedSet utilisant Arrays.asList avec 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); 
     }