【发布时间】: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