通过查看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());
}