2010-05-26 11 views
12

Hashtable hwJak uzyskać wartości HashTable jako Arraylist?

Jak mogę przekonwertować swoje wartości do:

ArrayList <Word> arr 

podziękowania.

+0

Uważam to raczej zabawne :) –

+0

To zawsze dzieje się na proste pytania. Osobiście uważam, że z powodzeniem usuwamy powieloną odpowiedź, jeśli nie zawiera ona nic więcej niż odpowiedź, która została przedłożona przed tobą, ale ludzie, którzy to robią, są niezwykle rzadcy. –

+0

@Michael, Dla mnie fajnie jest ścigać się pierwszy odpowie, zapewniając najlepsze treści. – jjnguy

Odpowiedz

42

Użyj konstruktora ArrayList, który pobiera kolekcję.

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

Następnie każda wartość, która była w HashTable będzie w nowym ArrayList.

Możesz znaleźć dokumentację dotyczącą konstruktora w the javadocs.

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

+1: Byłeś cholernie szybki: D – Simon

0

użycie

hw.values(); 

będzie to po prostu zwrócić Collection (jak lista) od Word obiektów.


z Javadocs

wartości

zbiórki publicznej wartości()

Zwraca widok zbiór wartości zawartych w tej mapie. Kolekcja jest obsługiwana przez mapę, więc zmiany mapy są odzwierciedlane w kolekcji i odwrotnie. Jeśli mapa jest modyfikowana podczas gdy trwa iteracja nad kolekcją (z wyjątkiem operacji usuwania iteratora z ), wyniki iteracji są niezdefiniowane. zbiór umożliwia usunięcie elementu, która usuwa odpowiednią odwzorowanie mapie poprzez Iterator.remove, Collection.remove, removeAll, retainAll i jasnych operacji. Nie obsługuje operacji dodawania ani dodawania wszystkich .

8

Również można użyć

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

do kluczy jako ArrayList

+0

fajny, dzięki za te klucze – raffian

+0

chciałeś thx! każdy pomysł, dlaczego zwracają klucze jako wyliczenie, a nie odbiór? –

Powiązane problemy