Map
是由 Map.Entry
对象组成的。每个 Entry
包含一个 key
和一个 value
。要从 entry 获取 key 和 value,您可以使用访问器和修改器方法。
如果您想获取给定 key
的 values
,请使用 get()
方法;如果要插入值,请使用 put()
方法。
#Define and initialize map;
Map map = new HashMap();
map.put("USA",1)
map.put("Japan",3)
map.put("China",2)
map.put("India",5)
map.put("Germany",4)
map.get("Germany")
如果您想从映射中获取键的集合,可以使用keySet()
方法。
Set keys = map.keySet();
System.out.println("All keys are: " + keys);
for(String key: keys){
System.out.println(key + ": " + map.get(key));
}
通常,要从Map中获取所有键和值,您需要按照以下顺序进行:
- 将
HashMap
转换为 MapSet
,使用 entryset()
方法获取 Map
中的条目集合:
Set st = map.entrySet();
- 获取此集合的迭代器:
Iterator it = st.iterator();
- 从迭代器中获取
Map.Entry
:
Map.Entry entry = it.next();
- 使用
Map.Entry
的 getKey()
和 getValue()
方法获取键和值。
Set st = (Set) map.entrySet();
Iterator it = st.iterator();
while(it.hasNext()){
Map.Entry entry = mapIterator.next();
System.out.print(entry.getKey() + " : " + entry.getValue());
}
简而言之,在for循环中直接使用迭代器
for(Map.Entry entry:map.entrySet()){
System.out.print(entry.getKey() + " : " + entry.getValue());
}