Map集合的迭代方式
//創建一個Map集合並且添加幾條數據
Map<Integer,String> map=new HashMap<>();
map.put(953,"毛怪");
map.put(954,"骨精");
map.put(955,"熊精");
map.put(956,"魚精");
1,map集合的迭代方式
/*
我們想要遍歷map中的數據,但是map集合本身沒有自己的迭代器
所以我們需要先將map集合轉為Set集合以后,在使用Set集合的迭代器進行迭代
代碼:Set<Key>=map.KeySet()
作用:將map中所有的key值取出,存入set集合中,此處的set的泛型是Integer
*/
Set<Integer> set=map.keySet();
Iterator<Integer> it=set.iterator();
while (it.hasNext())
{
Integer key = it.next();
String value=map.get(key);
System.out.println(key+value);
}
2,map的迭代方式
/*
遍歷map集合,需要先把map集合轉換為set集合
本方案是把一對鍵值對看成一個Entry
代碼:Map.Entry<key,value>=map.entrySet()
*/
//Set<Integer,String>set2=map.entrySet();
Set<Map.Entry<Integer, String>> set2= map.entrySet();
Iterator<Map.Entry<Integer, String>> iterator2 = set2.iterator();
while (iterator2.hasNext()){
//System.out.println(iterator2.next());
Map.Entry<Integer, String> entry = iterator2.next();
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
總結:map集合本身沒有自己的迭代器,如果需要進行迭代需要轉為map.keySet()和map.entrySet();然后使用set集合的迭代器來進行集合的迭代
map.keySet():Set<Integer> set=map.keySet();map.entrySet():Set<Map.Entry<Integer, String>> set2= map.entrySet()