Map两种迭代方法

两种获取集合元素的方法:
        重点说一下获取方法中的两个:keySet()和entrySet()方法
1、keySet()方法获取元素
原理:将Map集合中的所有键存入到Set集合中,因为Set集合具备迭代器,所以可以用迭代方式取出所有的键,再根据get方法获取每一个键对应的值。简单说就是:Map集合---->Set集合 ---->迭代器取出
示例:
  1. <span style="font-family: Arial; font-size: 10px; ">//keySet集合测试  
  2.   
  3. import java.util.*;  
  4. class KeySetDemo   
  5. {  
  6.     public static void main(String[] args)   
  7.     {  
  8.         //创建Map集合,并添加元素  
  9.         Map<Integer,String> map = new HashMap<Integer,String>();  
  10.         map.put(2,"zhangsan");  
  11.         map.put(6,"lisi");  
  12.         map.put(3,"wangwu");  
  13.         map.put(4,"heihei");  
  14.         map.put(5,"xixi");  
  15.         //获取map集合中的所有键的Set集合  
  16.         Set<Integer> keySet = map.keySet();  
  17.         //有了Set集合就可以获取其迭代器,取值  
  18.         Iterator<Integer> it = keySet.iterator();  
  19.         while (it.hasNext())  
  20.         {  
  21.             Integer i = it.next();  
  22.             String s = map.get(i);  
  23.             System.out.println(i + " = " + s);  
  24.         }  
  25.     }  
  26. }  
  27. </span>  
2、entrySet()方法获取元素:
原理:将Map集合中的映射关系存入到了Set集合中,而这个映射关系的数据类型是Map.Entry,在通过迭代器将映射关系存入到Map.Entry集合中,并通过其中的getKey()和getValue()放取出键值。
示例:
  1. <span style="font-family: Arial; font-size: 10px; ">/* 
  2. entrySet取出方式: 
  3. */  
  4. import java.util.*;  
  5. class EntrySetDemo  
  6. {  
  7.     public static void main(String[] args)   
  8.     {  
  9.         //创建集合,存入元素  
  10.         Map<String,String> map = new HashMap<String,String>();  
  11.         map.put("01","lisi1");  
  12.         map.put("02","lisi2");  
  13.         map.put("03","lisi3");  
  14.         map.put("04","lisi4");  
  15.         //获取map集合中的所有键,存入到Set集合中,  
  16.         Set<Map.Entry<String,String>> entry = map.entrySet();  
  17.         //通过迭代器取出map中的键值关系,迭代器接收的泛型参数应和Set接收的一致  
  18.         Iterator<Map.Entry<String,String>> it = entry.iterator();  
  19.         while (it.hasNext())  
  20.         {  
  21.             //将键值关系取出存入Map.Entry这个映射关系集合接口中  
  22.             Map.Entry<String,String>  me = it.next();  
  23.             //使用Map.Entry中的方法获取键和值  
  24.             String key = me.getKey();  
  25.             String value = me.getValue();  
  26.             System.out.println(key + " : " + value);  
  27.         }  
  28.     }  
  29. }  
  30. </span> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值