我正在尝试从地图创建Keyset,但我的程序无法识别关键字 KeyType :
我正在使用Oracle Java Docs Here
中提到的以下代码for (KeyType key : outputMap.keySet())
System.out.println(key);
答案 0 :(得分:2)
文档中的代码是伪代码。将KeyType
替换为Map
中存储的类型作为键。
例如:
Map<Integer, String> map = new HashMap<>();
for (Integer key : map.keySet()) {
//..
}
答案 1 :(得分: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是将键映射到值的对象。这里我的键类型是Integer,我的值类型是String,因为这个例子映射了Serial no。以人名。
你也可以像这样迭代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());