Map<String, String>,如何同时打印“key string”和“value string”

新手上路,请多包涵

我是 Java 新手,正在尝试学习 Maps 的概念。

我想出了下面的代码。但是,我想同时打印出“key String”和“value String”。

 ProcessBuilder pb1 = new ProcessBuilder();
Map<String, String> mss1 = pb1.environment();
System.out.println(mss1.size());

for (String key: mss1.keySet()){
    System.out.println(key);
}

我只能找到只打印“关键字符串”的方法。

原文由 Thor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 790
2 个回答

有多种方法可以实现这一目标。这里有三个。

     Map<String, String> map = new HashMap<String, String>();
    map.put("key1", "value1");
    map.put("key2", "value2");
    map.put("key3", "value3");

    System.out.println("using entrySet and toString");
    for (Entry<String, String> entry : map.entrySet()) {
        System.out.println(entry);
    }
    System.out.println();

    System.out.println("using entrySet and manual string creation");
    for (Entry<String, String> entry : map.entrySet()) {
        System.out.println(entry.getKey() + "=" + entry.getValue());
    }
    System.out.println();

    System.out.println("using keySet");
    for (String key : map.keySet()) {
        System.out.println(key + "=" + map.get(key));
    }
    System.out.println();

输出

using entrySet and toString
key1=value1
key2=value2
key3=value3

using entrySet and manual string creation
key1=value1
key2=value2
key3=value3

using keySet
key1=value1
key2=value2
key3=value3

原文由 Stefan Dollase 发布,翻译遵循 CC BY-SA 3.0 许可协议

在循环内部,您有密钥,您可以使用它从 Map 检索值:

 for (String key: mss1.keySet()) {
    System.out.println(key + ": " + mss1.get(key));
}

原文由 blacktide 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题