Come aggiungere elementi SortedSet da un array?
-
01-10-2019 - |
Domanda
Ho un SortedSet definito in questo modo:
SortedSet<RatedMessage> messageCollection = new TreeSet<RatedMessage>(new Comp());
e ho una serie di RatedMessage []
Ho dovuto usare la matrice come l'insieme manca la funzione di serializzazione, ora ho bisogno di costruire di nuovo.
C'è un modo rapido per aggiungere tutti gli elementi dalla matrice al set di nuovo?
Soluzione
Collections.addAll(messageCollection, array);
funzionalmente identico a risposta di Michael, ma come il javadoc dice:
Aggiunge tutti gli elementi specificati per la collezione specificato. elementi per da aggiungere può essere specificato singolarmente o come un array. Il comportamento di questo metodo comodo è identico a quello c.addAll (Arrays.asList (elementi)), ma questo metodo rischia di corsa significativamente più veloce sotto la maggior parte implementazioni.
Altri suggerimenti
Set
ha un addAll
metodo, ma ci vuole solo una collezione, quindi avrete bisogno di convertire l'array prima:
RatedMessage[] arr;
messageCollection.addAll(Arrays.asList(arr));
È possibile aggiungere RatedMessage [] array in SortedSet con 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);
}