整理了关于java中map的遍历的四种方法:
import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;publicclassMapTest{privateMap<String,String> map;publicMapTest(){ map =newHashMap<String,String>(); map.put("1","第一个数"); map.put("2","第二个数"); map.put("3","第三个数");}// 第一种方法(传统方法)publicvoid mapOne(){Set<String> set = map.keySet();Iterator<String> it = set.iterator();while(it.hasNext()){String key =(String) it.next();String value =(String) map.get(key);System.out.println(key +"="+ value);}}// 第二种方法(传统方法)publicvoid mapTwo(){Set set = map.entrySet();Iterator it = set.iterator();while(it.hasNext()){Entry entry =(Entry) it.next();String key =(String) entry.getKey();String value =(String) entry.getValue();System.out.println(key +"="+ value);}}// 第三种方法(增强for循环方法)publicvoid mapThree(){for(Object obj : map.keySet()){String key =(String) obj;String value =(String) map.get(key);System.out.println(key +"="+ value);}}// 第四种方法(增强for循环方法)publicvoid mapFour(){for(Object obj : map.entrySet()){Entry entry =(Entry) obj;String key =(String) entry.getKey();String value =(String) entry.getValue();System.out.println(key +"="+ value);}}publicstaticvoid main(String[] args){MapTest mapTest =newMapTest();System.out.println("=====first====="); mapTest.mapOne();System.out.println("=====second====="); mapTest.mapTwo();System.out.println("=====three====="); mapTest.mapThree();System.out.println("=====four====="); mapTest.mapFour();}}
输出结果:
=====first=====3=第三个数2=第二个数1=第一个数=====second=====3=第三个数2=第二个数1=第一个数=====three=====3=第三个数2=第二个数1=第一个数=====four=====3=第三个数2=第二个数1=第一个数