java 循环map_Java中Map的4种遍历方式

原标题:Java中Map的4种遍历方式

第一种方式:这是平常用的最多也最可取的一种遍历方式。

for (Map.Entry entry : map.entrySet()) {

System.out.println("key=" + entry.getKey() + ",value=" + entry.getValue());

第二种方式:如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet,该方法比entrySet遍历在性能上稍好(快了10%),而且代码更加干净。

// 遍历key

for (String key : map.keySet()) {

System.out.println("key=" + key);

}

// 遍历value

for (Object value : map.values()) {

System.out.println("value=" + value);

}

第三种方式:使用Iterator进行遍历Map。

Iterator> entries = map.entrySet().iterator();

while (entries.hasNext()) {

Entry entry = entries.next();

System.out.println("key=" + entry.getKey() + ",value=" + entry.getValue());

}

注意:在遍历过程中remove操作,只能用iterator遍历方式,其他遍历会抛异常,(顺便补充,list通过Iterator方式可正确遍历完成remove操作,直接调用list的remove方法就会抛异常)。

Iterator> it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry entry = it.next();

String key = entry.getKey();

if (key.equals("1")) {

System.out.println("remove的key= " + key);

it.remove();

System.out.println("key=" + key + "已移除");

}

}

for (String key : map.keySet()) {

System.out.println("key=" + key + ",value=" + map.get(key));

}

list的遍历中remove。

//会抛ConcurrentModificationException异常

for(String str : list){

list.remove(str);

}

//正确遍历移除方式

Iterator it = list.iterator();

while(it.hasNext()){

it.next();

it.remove();

}

第四种遍历方式:通过键找值遍历,缺点,效率低,本身从键取值是耗时的操作。

for (String key : map.keySet()) {

Object value = map.get(key);

System.out.println("key=" + key + ",value=" + value);

}

责任编辑:

原标题:Java中Map的4种遍历方式 第一种方式:这是平常用的最多也最可取的一种遍历方式。 for (Map.Entry entry : map.entrySet()) { System.out.println("key=" + entry.getKey() + ",value=" + entry.getValue()); 第二种方式:如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet,该方法比entrySet遍历在性能上稍好(快了10%),而且代码更加干净。 // 遍历key for (String key : map.keySet()) { System.out.println("key=" + key); } // 遍历value for (Object value : map.values()) { System.out.println("value=" + value); } 第三种方式:使用Iterator进行遍历Map。 Iterator> entries = map.entrySet().iterator(); while (entries.hasNext()) { Entry entry = entries.next(); System.out.println("key=" + entry.getKey() + ",value=" + entry.getValue()); } 注意:在遍历过程中remove操作,只能用iterator遍历方式,其他遍历会抛异常,(顺便补充,list通过Iterator方式可正确遍历完成remove操作,直接调用list的remove方法就会抛异常)。 Iterator> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = it.next(); String key = entry.getKey(); if (key.equals("1")) { System.out.println("remove的key= " + key); it.remove(); System.out.println("key=" + key + "已移除"); } } for (String key : map.keySet()) { System.out.println("key=" + key + ",value=" + map.get(key)); } list的遍历中remove。 //会抛ConcurrentModificationException异常 for(String str : list){ list.remove(str); } //正确遍历移除方式 Iterator it = list.iterator(); while(it.hasNext()){ it.next(); it.remove(); } 第四种遍历方式:通过键找值遍历,缺点,效率低,本身从键取值是耗时的操作。 for (String key : map.keySet()) { Object value = map.get(key); System.out.println("key=" + key + ",value=" + value); } 责任编辑:
经验分享 程序员 微信小程序 职场和发展