map集合遍歷的五種方式
- 使用for遍歷時(shí)刪除map集合中的內(nèi)容時(shí),會(huì)報(bào)異常,使用iterator遍歷時(shí)刪除map集合中的內(nèi)容不會(huì)報(bào)異常
package part1.mapeach;
import java.lang.reflect.Array;
import java.util.*;
/**
* ClassName: Maptest
* Description: mao集合遍歷的幾種方式
*/
public class Maptest {
public static void main(String[] args) {
//使用for遍歷時(shí)刪除map集合中的內(nèi)容時(shí),會(huì)報(bào)異常,使用iterator遍歷時(shí)刪除map集合中的內(nèi)容不會(huì)報(bào)異常
Map<Integer,String> map=new HashMap<>();
for (int i = 0; i < 10; i++) {
map.put(i+1,"value"+(i+1));
}
System.out.println("遍歷方式1: keySet()");
//map遍歷方式1: keySet()
for (Integer key : map.keySet()) {
String value=map.get(key);
System.out.println("key="+key+" ; value="+value);
}
System.out.println("遍歷方式2: values()");
//map遍歷方式2: values()
List<String> values=new ArrayList<>();
for (String value : map.values()) {
values.add(value);
}
System.out.println(values.toString());
System.out.println("第三種方式 : entrySet()");
//map遍歷方式3: values()
for (Map.Entry<Integer, String> entry : map.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println("key="+key+" ; value="+value);
}
System.out.println("第四種 : 通過(guò)迭代器遍歷map集合");
//map遍歷方式4 : 迭代器
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Integer, String> entry = iterator.next();
System.out.println("key="+entry.getKey()+" ; value="+entry.getValue());
}
System.out.println("第五種 : 使用lambda表達(dá)式遍歷");
//map遍歷方式5 : lambda表達(dá)式
map.forEach((k,v)-> System.out.println("key="+k+" ; value="+v));
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者