2010-06-28 31 views
6

ho un SortedSet definito in questo modo:Come aggiungere elementi SortedSet da una matrice?

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

e ho un array di RatedMessage []

ho dovuto utilizzare la matrice come l'insieme manca la funzionalità di serializzazione, ora devo costruirlo indietro.

C'è un modo rapido per aggiungere nuovamente tutti gli elementi dall'array al set?

risposta

9
Collections.addAll(messageCollection, array); 

funzionalmente identico a risposta di Michael, ma come il javadoc dice:

Aggiunge tutti gli elementi specificati a la raccolta specificata. Gli elementi da aggiungere a possono essere specificati singolarmente o come matrice. Il comportamento di questo metodo comodo è identico a che c.addAll (Arrays.asList (elementi)), ma questo metodo rischia di correre significativamente più veloce nella maggior parte delle implementazioni .

+0

Oh, ben fatto. "Il comportamento di questo metodo di convenienza è identico a quello di c.addAll (Arrays.asList (elementi)), ma è probabile che questo metodo funzioni molto più velocemente nella maggior parte delle implementazioni." –

+0

Proprio come stavo aggiungendo la stessa citazione. =) – ColinD

5

Set ha un metodo addAll, ma ci vuole solo una collezione, quindi avrete bisogno di convertire l'array prima:

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

+1; caricato proprio mentre stavo per postare lo stesso. – Carl

1

È possibile aggiungere RatedMessage [] array in SortedSet utilizzando Arrays.asList con 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); 
     } 
Problemi correlati