2010-05-26 32 views
12

HW Hashtablecómo obtener los valores de HashTable como Arraylist?

¿Cómo puedo convertir los valores de a:

ArrayList <Word> arr 

gracias.

+0

Me parece bastante divertida :) –

+0

Esto sucede siempre en preguntas fáciles. Personalmente, creo que es elegante eliminar una respuesta duplicada que publicaste si no aporta nada más que una respuesta que se envió antes, pero las personas que lo hacen es extremadamente rara –

+0

@Michael, para mí es divertido competir para ser el primero en responder, sin dejar de proporcionar el mejor contenido. – jjnguy

Respuesta

42

Utilice el constructor ArrayList que toma una colección.

ArrayList<Word> arr = new ArrayList<Word>(hw.values()); 

Entonces cada valor que estaba en el HashTable habrá en el nuevo ArrayList.

Puede encontrar documentación sobre el constructor en the javadocs.

10
ArrayList<Word> arr = new ArrayList<Word>(hw.values()); 
+0

+1: Fuiste tan malditamente rápido: D – Simon

0

uso

hw.values(); 

simplemente devolverá la Colección (como una lista) de Word objetos.


de javadocs

valores

colección pública valores()

devuelve una vista Colección de los valores contenidos en este mapa. La colección está respaldada por el mapa, por lo que cambios en el mapa se reflejan en la colección, y viceversa. Si el mapa se modifica mientras está en curso una iteración en la colección (excepto a través de la operación de eliminación del propio iterador ), los resultados de la iteración no están definidos. La colección apoya la eliminación elemento, que elimina el correspondiente mapeo desde el mapa, a través de los Iterator.remove, Collection.remove, removeAll, retainAll y claros operaciones. No es compatible con agregar o agregar todas las operaciones.

8

También puede utilizar

ArrayList<Word> arr = Collections.list(hw.keys()); 

de teclas como ArrayList

+0

bueno, gracias por las llaves – raffian

+0

querías thx! ¿Alguna idea de por qué devuelven claves como enumeración y no como recopilación? –

Cuestiones relacionadas