【问题标题】:how to get HashTable values as Arraylist?如何获取 HashTable 值作为 Arraylist?
【发布时间】:2011-02-24 07:40:18
【问题描述】:

哈希表硬件

如何将其值转换为:

ArrayList <Word> arr

谢谢。

【问题讨论】:

  • 我觉得这很有趣:)
  • 这总是发生在简单的问题上。就我个人而言,我认为删除您发布的重复答案,如果它只提供您之前提交的答案,那么删除它是很优雅的,但实际上这样做的人非常罕见
  • @Michael,对我来说,竞相成为第一个回答的人很有趣,同时仍然提供最好的内容。
  • @Justin Me 也是,但如果你输掉了比赛,除非它提供其他人没有的额外信息,否则留下你的答案是没有意义的。在这个帖子上有逐字逐句的答案——没有增加任何价值
  • @Michael 我同意。但是,如果我得到一两个赞成票,我想保持这种声誉。如果它们都是正确的,我不认为它的广告混乱(太多)。

标签: java arraylist hashtable


【解决方案1】:

使用接受集合的ArrayList 构造函数。

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

那么HashTable 中的每个值都将在新的ArrayList 中。

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

【讨论】:

    【解决方案2】:
    ArrayList<Word> arr = new ArrayList<Word>( hw.values() );
    

    【讨论】:

      【解决方案3】:

      你也可以使用

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

      作为 ArrayList 的键

      【讨论】:

      • 钥匙需要谢谢!知道为什么他们将键作为枚举而不是集合返回吗?
      【解决方案4】:

      使用

      hw.values();
      

      它将简单地返回 Word 对象的集合(如列表)。


      来自 javadocs

      价值观

      公共集合 values()

      返回一个 Collection 视图 此映射中包含的值。这 集合由地图支持,所以 地图的变化反映在 集合,反之亦然。如果 迭代时修改地图 收集正在进行中 (通过迭代器自己的除外 删除操作),结果 迭代是未定义的。这 集合支持元素移除, 它删除了相应的 从地图映射,通过 Iterator.remove、Collection.remove、 removeAll、retainAll 和清除 操作。它不支持 add 或 addAll 操作。

      【讨论】:

        猜你喜欢
        • 2016-08-23
        • 2020-02-20
        • 1970-01-01
        • 1970-01-01
        • 2015-07-07
        • 2016-09-26
        • 2016-02-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多