map的五种遍历方式

遍历map的方式其实用到的地方挺多的,需要掌握下,好多次写程序的时候都不会遍历map导致出错

一.在for循环中用entries实现map的遍历(最常见的)

for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
    int key = entry.getKey();
    int value = entry.getValue();
}

二.for-each(适合只需要单遍历key或者value)

for(int key : map.keySet()) {
    xxx;
}
for(int val : map.values()) {
    xxx;
}

三.迭代器遍历

Iterator<Entry<Integer, Integer>> entries = map.entrySet().iterator();  // 关键点
while(entries.hasNext()) {
    Entry<Integer, Integer> entry = entries.next();
    int key = entry.getKey();
    int val = entry.getValues();
}

四. 通过键找值(效率不高)

for(String key : map.keySet()){
    String value = map.get(key);
    System.out.println(key+":"+value);
}

五. forEach(java8新出的一种方式)

map.forEach((key, values) -> {
    xxx;
})

值得注意的是这种方法不能改变key和value的值,只能起到一个查询作用

你可能感兴趣的:(后端项目,java,算法,数据结构)