对于Map接口来说本身不能进行迭代(如Iterator、foreach)进行输出,因为Map接口存放一对值,而Iterator每次只能找到一个值,所以要想使用迭代输出则要按下面的步骤:
1、将Map接口的实例通过entrySet()方法变为Set接口对象
2、通过Set接口实例化为Iterator实例化
3、通过Iterator迭代输出,每个内容都是Map.Entry对象
4、通过Map.Entry进行Key—>value的分离
Map.Entry是接口,Map中数据都是通过Map.Entry保存的,看个例子吧(以Iterator输出为例)- import java.util.HashMap ;
- import java.util.Map ;
- import java.util.Set ;
- import java.util.Iterator ;
- public class IteratorDemo04{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new HashMap<String,String>() ;
- map.put("mldn","www.mldn.cn") ; // 增加内容
- map.put("zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
- map.put("mldnjava","www.mldnjava.cn") ; // 增加内容
- Set<Map.Entry<String,String>> allSet = null ;
- allSet = map.entrySet() ;
- Iterator<Map.Entry<String,String>> iter = null ;
- iter = allSet.iterator() ;
- while(iter.hasNext()){
- Map.Entry<String,String> me = iter.next() ;
- System.out.println(me.getKey() + " --> " + me.getValue()) ;
- }
- }
- };
复制代码 |