map集合迭代。

通过查看Map集合的API发现没有iterator方法,那么双列集合如何迭代?

方法一:通过获取到所有键存储到set集合,然后根据迭代器得到map集合的所有值。

Set<String> keySet = map.keySet();  //获取所有键的集合,根据键可以得到值

Iterator<String> it = keySet.iterator();   //获取迭代器

while(it.hasNext()){            //判断集合中是否有元素

  String key = it.next();    //获取每一个键

  Integer Value = map.get(key);         //根据键获取值

  syso(key + "=" +value);

}

方法二:增强for循环遍历

for(String key : map.keyset()){      //key存储所有的键

  syso(key +"=" +map.get(key));    

}

方法三:

//Map.Entry说明Entry是Map的内部接口,将键和值封装成了Entry对象,并存储在Set集合中

Set<Map.Entry<String,Integer>> entrySet = map.entrySet();

//获取每一个对象

Iterator<Map.Entry<String,Integer>> it = entrySet.iterator();

while(it.hasNext()){

  //获取每一个Entry对象

Map.Entry<String,Integer> en = it.next();

String key = en.getkey();    //根据键值对对象获取键

Iterger value = en.getValue();      //根据键值对对象获取值

syso(key + "=" +value);

}

方法四:

for(Map.Entry<String,Integer> en : map.entrySet()){

syso(en.getKey() + "=" + en.getValue());

}

原文地址:https://www.cnblogs.com/wangffeng293/p/12872649.html