【问题标题】:Get keys from hashmap and store in String array using java使用 java 从 hashmap 中获取键并存储在 String 数组中
【发布时间】:2021-10-08 18:16:14
【问题描述】:

我创建了一个哈希图。我需要做的就是从哈希图中获取键并存储在 String[] 数组中。
这是我正在做的,但它不正确。

 HashMap<String, String> columnHeaders = new HashMap<String, String>();
        columnHeaders.put("Id", "101");
        columnHeaders.put("First Name","AAA");
        columnHeaders.put("Last Name","BBB");
        columnHeaders.put("Country","CCC");
        columnHeaders.put("City","DDD");
        columnHeaders.put("State","EEE");
        columnHeaders.put("Province","FFF");
}

 String[] keyHeaders=null;
            for(Map.Entry<String, String> param : columnHeaders.entrySet()){
            String key = param.getKey();
            keyHeaders = key.split(";");
            Arrays.toString(keyHeaders);
   }

我将 String[] 保持为全局,因为我需要将它传递给 for 循环。
有人可以帮我解决这个问题吗?

【问题讨论】:

  • 如果没有;,为什么要拆分密钥?如果您可以按原样使用密钥,只需使用String[] keyHeaders = columnHeaders.keySet().toArray(new String[0]);
  • 你这样想太多了。 HashMap 已经有一个方法可以返回一组键,而 Set 有一个方法可以将自己转换为数组:String[] keys = columnHeaders.keySet().toArray(new String[0]);
  • 所以每个循环都不需要这个来遍历地图?

标签: java arrays string collections


【解决方案1】:

你可以这样做。

HashMap<String, String> columnHeaders =
        new HashMap<String, String>();
columnHeaders.put("Id", "101");
columnHeaders.put("First Name", "AAA");
columnHeaders.put("Last Name", "BBB");
columnHeaders.put("Country", "CCC");
columnHeaders.put("City", "DDD");
columnHeaders.put("State", "EEE");
columnHeaders.put("Province", "FFF");

String[] keys = columnHeaders.keySet().toArray(String[]::new);

for (String k : keys) {
    System.out.println(k);
}

打印

State
First Name
Country
Id
City
Last Name
Province

   

【讨论】:

    【解决方案2】:

    尝试将 101 更改为“101”或 String.value (101)

    【讨论】:

      猜你喜欢
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 1970-01-01
      • 2013-05-27
      • 2010-11-25
      相关资源
      最近更新 更多