1

我正在尝试从地图中对 Keyset 进行迭代,但我的程序无法识别关键字KeyType

我正在使用 Oracle Java Docs Here中提到的以下代码

for (KeyType key : outputMap.keySet())
    System.out.println(key);
4

2 回答 2

2

文档中的代码是伪代码。替换KeyType为您存储在您Map的密钥中的类型。

例如:

Map<Integer, String> map = new HashMap<>();

for (Integer key : map.keySet()) {
  //..
}
于 2013-04-23T12:32:24.453 回答
1

java中没有引用类型KeyType。试试这个例子:

    Map<Integer, String> person = new HashMap<Integer, String>();
    person.put(1, "Sohail");
    person.put(2, "Ahmad");
    person.put(3, "Wills");
    for(Integer serialNo : person.keySet()) 
        System.out.println("Key: "+serialNo+", Value: "+person.get(serialNo));

Map 是将键映射到值的对象。这里我的键类型是整数,我的值类型是字符串,因为这个例子映射了序列号。到人名。

您还可以像这样在 Map 上进行迭代:

    Map<Integer, String> person = new HashMap<Integer, String>();
    person.put(1, "Sohail");
    person.put(2, "Ahmad");
    person.put(3, "Wills");

    for (Map.Entry<Integer, String> entry : person.entrySet()) 
        System.out.println("Key: "+entry.getKey()+", Value: "+entry.getValue());
于 2013-04-23T12:51:40.847 回答