Map的遍历方式

Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值

1.无非就是通过map.keySet()获取到值,然后根据键获取到值

for(String s:map.keySet()){
 System.out.println("key : "+s+" value : "+map.get(s));
}

2.通过Map.Entry(String,String) 获取,然后使用entry.getKey()获取到键,通过entry.getValue()获取到值

for(Map.Entry<String, String> entry : map.entrySet()){
 System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
}

3. 其中通过Iterator也是为了最终获得entry,所以理解其用法,可以很好的使用和掌握

package com.bie;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/** 
* @author BieHongLi 
* @version 创建时间:2017年2月25日 下午8:58:54 
* 
*/
public class MapTest01 {
 public static void main(String[] args) {
  Map<String, String> map=new HashMap<String, String>();
  map.put("张三1", "男");
  map.put("张三2", "男");
  map.put("张三3", "男");
  map.put("张三4", "男");
  map.put("张三5", "男");
  //第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值
  for(String s:map.keySet()){
   System.out.println("key : "+s+" value : "+map.get(s));
  }
  System.out.println("====================================");
  //第二种只遍历键或者值,通过加强for循环
  for(String s1:map.keySet()){//遍历map的键
   System.out.println("键key :"+s1);
  }
  for(String s2:map.values()){//遍历map的值
   System.out.println("值value :"+s2);
  }
  System.out.println("===================================="); 
  //第三种方式Map.Entry<String, String>的加强for循环遍历输出键key和值value
  for(Map.Entry<String, String> entry : map.entrySet()){
   System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
  }
  System.out.println("====================================");
  //第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue()
  Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
  while(it.hasNext()){
   Map.Entry<String, String> entry=it.next();
   System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue());
  }
  System.out.println("====================================");
 }
}

4.Map的一些常用的知识点,和取值的变形形式,都需要掌握和了解

package com.bie;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/** 
* @author BieHongLi 
* @version 创建时间:2017年2月26日 上午11:29:59 
* 
*/
public class MapTest02 {
 public static void main(String[] args) {
  //1:key,value都是object类型的
  //2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖
  //3:对于HashMap,key可以为空
  //4:value可以为空,也可以为空
  //5:HashTable的key和value不能为空
  //6:properties的key和value必须为String类型的
  Map<String , String> map=new HashMap<>();
  map.put("null", "this is null 1");
  map.put("null", "this is null 2");
  System.out.println(map.size());
  System.out.println(map.get(null));
  System.out.println("=============================");
  //循环显示map类型的key以及对应的value
  //三个集合,key的集合,value的集合,键值对的集合
  Set<String> keys=map.keySet();
  for(String s:keys){
   System.out.println(s);
  }
  System.out.println("=============================");
  Collection<String> values=map.values();//值的集合
  System.out.println(values);
  System.out.println("=============================");
  Set<Map.Entry<String, String>> entrys=map.entrySet();//键值对的集合
  for(Map.Entry<String, String> entry:entrys){
   System.out.println(entry.getKey()+" "+entry.getValue());
  }
 }
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值