关于java:打印具有多个值的键的哈希映射

printing a hashmap of a key with multiple values

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class hello {
    string name;
    int number;
}

class object {
    public static void main(string args[]) {
        HashMap hs = new HashMap();
        hello c1 = new hello();
        hello c2 = new hello();
        hs.put("india",c1);
        hs.put("america",c2);
    }
}

如何打印键值对

具有多个值的键如何打印


像这样迭代Map或HashMap。

1
2
3
4
5
6
Map<String, Hello> map=new HashMap<>();
Set<Entry<String, Hello>> entries=map.entrySet();
for (Entry<String, Hello> entry : entries) {
    String key=entry.getKey();
    Hello hello=entry.getValue();
}

您也可以使用Entry Set进行迭代。

1
2
3
4
5
6
 HashMap<String,hello> hs=new HashMap<String, hello>();
 // Put values for hashMap.
 for(Map.Entry<String, hello> printPairs: hs.entrySet()) {
       System.out.print(printPairs.getKey()+" ----");
       System.out.println(printPairs.getValue());
  }


使用Java 8:

1
map.forEach((key, value) -> System.out.println(key +"," + value));

您需要迭代哈希映射键,然后使用其值打印键。

例:

1
2
3
4
5
HashMap<String, hello> map = new HashMap<String, hello>();
    for (Iterator<String> iterator = map.keySet().iterator(); iterator.hasNext();) {
        String key = iterator.next();
        System.out.println(key + map.get(keu).toString); suppose you already override the toString method in your hello class
    }