2010-06-28 28 views
6

tengo una SortedSet define de esta manera:Cómo agregar elementos SortedSet de una matriz?

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

y tengo una matriz de RatedMessage []

tuve que usar la matriz como el conjunto no alcanza la característica de serialización, ahora tengo que construirlo espalda.

¿Hay alguna manera rápida de volver a agregar todos los elementos de la matriz al conjunto?

Respuesta

9
Collections.addAll(messageCollection, array); 

funcionalmente idéntica a la respuesta de Michael, pero como dice el javadoc:

Agrega todos los elementos especificados a en la colección especificada. Se pueden agregar elementos a se pueden especificar individualmente o como una matriz. El comportamiento de este método de conveniencia es idéntica a que c.addAll (Arrays.asList (elementos)), pero este método es probable que se ejecute significativamente más rápido en la mayoría de las implementaciones .

+0

Oh, bien hecho. "El comportamiento de este método de conveniencia es idéntico al de c.addAll (Arrays.asList (elementos)), pero es probable que este método se ejecute significativamente más rápido en la mayoría de las implementaciones". –

+0

Justo cuando estaba agregando esa misma cita. =) – ColinD

5

Set tiene un método addAll, pero sólo se necesita una colección, por lo que necesita para convertir la matriz primero:

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

+1; cargado justo cuando estaba a punto de publicar lo mismo. – Carl

1

Puede añadir RatedMessage [] matriz en SortedSet usando 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); 
     } 
Cuestiones relacionadas