/*
* keySet()方法返回值是Map中key值的set集合;
* entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry.
*/
Map<Integer, Integer> map = new HashMap<>();
for(Integer i=0;i<1000;i++){
map.put(i+1, i+1);
}
// 方法一:for - each循坏遍历keys或values
//如果只需要map中的键或值,可以通过keySet或values来实现遍历
System.out.println("通过Map.keySet遍历key和value:");
for (Integer key : map.keySet()) {
System.out.println("key= " + key);
}
for (Integer value : map.values()) {
System.out.println("value=" + value);
}
//-----------------------------------------------------------------------
// 方法二:for - each循环中使用entry。最常见,最可取的遍历方法。
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + ", value= "
+ entry.getValue());
}
//--------------------------------------------------------------------------
// 方法三:使用Iterator遍历
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<Integer, Integer> entry = entries.next();
System.out.println("key = " + entry.getKey() + ",value= "
+ entry.getValue());
}
//--------------------------------------------------------------------------
//方法四:通过键找值遍历(效率低)
for(Integer key:map.keySet()){
Integer value= map.get(key);
System.out.println("key = " + key + ",value= "
+ value);
}