2010-05-26 53 views
12

Hashtable的HW如何獲得HashTable值爲Arraylist?

我怎麼能轉換它的值:

ArrayList <Word> arr 

感謝。

+0

我覺得這相當有趣:) – 2010-05-26 17:57:18

+0

這總是發生在簡單的問題。就我個人而言,我認爲刪除你發佈的重複答案是很好的做法,如果它沒有提供任何比你之前提交的答案更多的東西,但實際上這樣做的人是非常罕見的 – 2010-05-26 17:59:14

+0

@Michael,對我而言,首先要回答,同時仍然提供最好的內容。 – jjnguy 2010-05-26 18:00:49

回答

42

使用需要集合的構造函數ArrayList

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

然後每那是在HashTable值將在新ArrayList

您可以在the javadocs中找到有關構造函數的文檔。

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

+1:你太快了:D – Simon 2010-05-26 17:56:36

0

使用

hw.values(); 

它只會返回集合Word對象(如表)。


從javadocs中

公文集值()

返回包含在此映射 值的Collection視圖。 集合是由地圖支持的,所以 對地圖的更改反映在 集合中,反之亦然。如果 映射被修改,而集合上的迭代 正在進行 (除了通過迭代器自己的 刪除操作),則 迭代的結果是未定義的。所述 集合支持元素移除, 其去除從映射中相應 映射,經由 Iterator.remove,Collection.remove, removeAll,retainAll和清晰 操作。它不支持 add或addAll操作。你

8

也可以使用

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

鑰匙作爲ArrayList的

+0

不錯,謝謝你 – raffian 2013-08-11 03:19:56

+0

鍵想thx!任何想法爲什麼他們返回鍵枚舉而不是集合? – 2016-01-01 21:11:54