Java 如何获取作为Arraylist的哈希表值?

Java 如何获取作为Arraylist的哈希表值?,java,arraylist,hashtable,Java,Arraylist,Hashtable,哈希表hw 如何将其值转换为: ArrayList <Word> arr arraylistarr 谢谢。使用获取集合的ArrayList构造函数 ArrayList<Word> arr = new ArrayList<Word>(hw.values()); ArrayList arr=新的ArrayList(hw.values()); 然后哈希表中的每个值都将出现在新的数组列表中 您可以在中找到有关构造函数的文档。ArrayList arr=new

哈希表hw

如何将其值转换为:

ArrayList <Word> arr
arraylistarr

谢谢。

使用获取集合的
ArrayList
构造函数

ArrayList<Word> arr = new ArrayList<Word>(hw.values());
ArrayList arr=新的ArrayList(hw.values());
然后
哈希表中的每个值都将出现在新的
数组列表中

您可以在中找到有关构造函数的文档。

ArrayList arr=new ArrayList(hw.values());
使用

它只返回
Word
对象的集合(如列表)


来自javadocs

公共收藏values()

返回的集合视图 此映射中包含的值。这个 集合由地图支持,所以 地图的更改将反映在中 收藏,反之亦然。如果 在迭代过程中修改映射 收集工作正在进行中 (除了通过迭代器自己的 删除操作),然后返回 迭代是未定义的。这个 集合支持元素移除, 这将删除相应的 从地图映射,通过 迭代器.remove,集合.remove, 移除、保留和清除 操作。它不支持 添加或添加所有操作

你也可以使用

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

对于ArrayList键,我觉得这很有趣:)这总是发生在简单的问题上。就我个人而言,我认为删除你发布的一个重复答案是很有礼貌的,如果它除了你之前提交的答案之外没有任何贡献,但是人们实际上这样做是非常过分的rare@Michael,对我来说,比赛第一个回答是很有趣的,同时仍然提供最好的内容。@Justin我也是,但是如果你输了比赛,你的答案没有意义,除非它提供了其他人没有的额外信息。这张照片上贴着逐字逐句的答案——这一点也不重要value@Michael我同意。但如果我得到一两张选票,我想保持这种声誉。如果它们都正确的话,我不认为这会造成混乱(太多)!知道为什么它们返回的键是枚举而不是集合吗?
hw.values();
ArrayList<Word> arr = Collections.list(hw.keys());