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,所以理解其用法,可以很好的使用和掌握

  1. public class MapDemo {
  2.  
  3. public static void main(String[] args) {
  4. Map<String, String> map=new HashMap<String, String>();
  5. map.put("张三1", "男");
  6. map.put("张三2", "男");
  7. map.put("张三3", "男");
  8. map.put("张三4", "男");
  9. map.put("张三5", "男");
  10.  
  11. //第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值
  12. for(String s:map.keySet()){
  13. System.out.println("key : "+s+" value : "+map.get(s));
  14. }
  15. System.out.println("====================================");
  16.  
  17. //第二种只遍历键或者值,通过加强for循环
  18. for(String s1:map.keySet()){//遍历map的键
  19. System.out.println("键key :"+s1);
  20. }
  21. for(String s2:map.values()){//遍历map的值
  22. System.out.println("值value :"+s2);
  23. }
  24. System.out.println("====================================");
  25.  
  26. //第三种方式Map.Entry<String, String>的加强for循环遍历输出键key和值value
  27. for(Map.Entry<String, String> entry : map.entrySet()){
  28. System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
  29. }
  30. System.out.println("====================================");
  31.  
  32. //第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue()
  33. Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
  34. while(it.hasNext()){
  35. Map.Entry<String, String> entry=it.next();
  36. System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue());
  37. }
  38. System.out.println("====================================");
  39.  
  40. }
  41.  
  42. }

4:Map的一些常用的知识点,和取值的变形形式

  1. public class MapDemo {
  2. public static void main(String[] args) {
  3. //1:key,value都是object类型的
  4. //2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖
  5. //3:对于HashMap,key可以为空
  6. //4:value可以为空,也可以为空
  7. //5:HashTable的key和value不能为空
  8. //6:properties的key和value必须为String类型的
  9. Map<String , String> map=new HashMap<>();
  10. map.put("null", "this is null 1");
  11. map.put("null", "this is null 2");
  12. System.out.println(map.size());
  13. System.out.println(map.get("null"));
  14.  
  15. System.out.println("=============================");
  16. //循环显示map类型的key以及对应的value
  17. //三个集合,key的集合,value的集合,键值对的集合
  18. Set<String> keys=map.keySet();
  19. for(String s:keys){
  20. System.out.println(s);
  21. }
  22. System.out.println("=============================");
  23. Collection<String> values=map.values();//值的集合
  24. System.out.println(values);
  25. System.out.println("=============================");
  26. Set<Map.Entry<String, String>> entrys=map.entrySet();//键值对的集合
  27. for(Map.Entry<String, String> entry:entrys){
  28. System.out.println(entry.getKey()+" "+entry.getValue());
  29. }
  30.  
  31. }
  32. }

运行结果:

Map常用集合遍历的更多相关文章

  1. List、Set、Map常见集合遍历总结

    Java中的集合有三大类,List.Set.Map,都处于java.util包中,List.Set和Map都是接口,不能被实例化,它们的各自的实现类可以被实例化.List的实现类主要有ArrayLis ...

  2. Map类集合遍历

  3. Map接口中的常用方法和Map集合遍历键找值方式

    Map接口中定义了很多方法,常用的如下: public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作) V remove(Object key); 如果此映射 ...

  4. Map集合遍历的四种方式理解和简单使用-----不能for循环遍历

    Map集合遍历的四种方式理解和简单使用   ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...

  5. JAVA 常用集合接口List、Set、Map总结

    java中频繁使用List.Set.Map接口,将其总结如下 它们的继承与实现关系如下: Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└ ...

  6. Map集合遍历的2种方法

    Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...

  7. 双列集合Map的嵌套遍历

    双列集合Map的嵌套使用,例如HashMap中还有一个HashMap,这样的集合遍历起来稍微有点儿复杂.例如一个集合:HashMap<Integer,HashMap<String,Inte ...

  8. Map 集合遍历的4种方法

    Map 集合初始化时,指定集合初始值大小. 说明:HashMap 使用 HashMap(int initialCapacity) 初始化. 正例:initialCapacity = (需要存储的元素个 ...

  9. Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...

随机推荐

  1. 【ocp 052又加新题了】052新加的考试题及答案整理-第13题

    13.Which two are true about AWR snapshots? A) They are stored In the SYSAUX tablespace. B) They are ...

  2. javascript对比两个数组,打印出差异值

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. jquery中animate({left:'-='+width})中的 '-='+是什么意思?

    left:'-='+width的意思是:left属性的最终值,是left现有值减去width这个值 例如:left:'200px' 意思是left最终值变成200left:'+200px' 意思与上面 ...

  4. 面对对象二,super......反射

    一.super() super()  : 主动调用其他类的成员 # 单继承 # 在单继承中 super,主要是用来调用父类的方法的. class A: def __init__(self): self ...

  5. php 扩展 debug问题

    php安装时为debug模式 ./configure  --prefix=/usr/local/php7.1.6-debug --with-curl --with-pcre-regex --enabl ...

  6. 【手记】如果Idx/Sub字幕导不进MKVToolNix,看看是否这个原因

    用记事本之类的文本编辑器打开idx文件,看看时间轴部分是不是存在不规范的条目,比如: timestamp: :::, filepos: 注意,上述条目中,filepos:后面缺了一个空格,就这么一处问 ...

  7. JS 与 OC 交互

    WebView与JS的几种交互 IOS中 使用JavaScriptCore 实现OC与JS的交互 JavaScriptCore 使用

  8. wordcloud词云--可视化

    import jieba import wordcloud f = open("新时代中国特色社会主义.txt", "r", encoding="gb ...

  9. Python——付费/版权歌曲下载

    很多歌曲需要版权或者付费才能收听 正确食用方法: 1.找到歌曲编号 2.输入编号并点击下载歌曲 # coding:utf8 # author:Jery # datetime:2019/4/13 23: ...

  10. MqttNet 通讯

    MQTT,IBM发明的物联网通讯协议基于tcp ip , 收集传感器上的数据. 下图理解:  broker 这里有很多消息,根据主题不同来进行区分,它这里可以保管所有连过来的客户端的数据,然后客户端, ...