2010-05-26 49 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