关于Map的遍历
想起之前有人问过我这个,那就顺手写一下Map的遍历
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "a");
map.put(2, "b");
map.put(3, "ab");
map.put(4, "ab");
假设我们有以上Map,那么我们要遍历他们有什么方法呢?
方法一:用迭代器
Iterator iterator= map.entrySet().iterator(); while (iterator.hasNext()){ // System.out.println(iterator.next()); Map.Entry entry= (Map.Entry) iterator.next(); System.out.println( entry.getKey()); System.out.println( entry.getValue()); }
用entryset的迭代器方法,扶植给迭代器
然后用while循环把iterator的值赋给entry,然后调用getKey和getValue方法即可
第二种:
for(String value:map.values()){ System.out.println(value); }
简单粗暴,就是没有value
第三种:
for(Map.Entry entry:map.entrySet()){ System.out.println(entry.getKey()+" "+entry.getValue()); }
简单好用,也是很粗暴,三行代码搞定
第四种:
for(Integerkey:map.keySet()){ System.out.println(key+" "+map.get(key)); }