【问题标题】:How i make array from Map [closed]我如何从地图制作数组[关闭]
【发布时间】:2013-11-07 12:53:21
【问题描述】:

我有一个String[] arr,我想从Map 获取一个数组。 我该怎么做?像一个列表?

Map<String, Long> map = new HashMap<String. Long>();
String[] arr;
int size;
size = map.size();
arr = String.valueOf(size);

我需要获取地图中的元素总数

【问题讨论】:

  • 什么数组,键? (假设这是您代码中的 String 类型)
  • 要获取键和值的集合,请使用keySet()values() 方法。请参阅Collection 的 JavaDoc 以了解如何将其传输到数组。
  • 我想得到map.size();
  • 你试过了吗...map.size()?
  • 我想你已经回答了你的问题。

标签: java arrays map hashmap


【解决方案1】:

String[] arr = new String[map.size()]; 有效 String[] Arr = map.keySet().toArray(new String[map.keySet().size()]); 也是。

【讨论】:

    【解决方案2】:

    取决于您是希望从 keys (Set) 还是从 values (List) 中获取数组。

    您可能还想阅读ListSet 中的toArray javadoc。

    final Map<String, Long> map = new HashMap<>();
    
    final String[] keyArr = map.keySet().toArray(new String[map.keySet().size()]);
    final Long[] valArr = map.values().toArray(new Long[map.values().size()]);
    

    编辑:

    好的...所以...鉴于您的最新编辑,这是您要查找的内容吗?

    String[] arr = new String[map.size()];
    

    很难猜出你需要什么。

    【讨论】:

    • 我不明白你的解决方案。我需要在我的情况下使用 Long
    • 听起来你可能需要放慢速度,更准确地思考你需要什么。您需要从地图中获取 what 数组吗?还有为什么你在 cmets 里说你想得到map.size()究竟你需要什么?否则真的很难回答这个问题。
    • 我编辑我的问题,应该澄清
    • @gmendes 仍然没有任何意义。 valueOf 不会返回 String[],伙计。
    • @gmendes 查看已编辑的答案。但是,我很确定带有Long 的代码就是您所需要的。
    【解决方案3】:

    阅读 javadoc。

    map.keySet().toArray();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多