• Map集合的应用及其遍历方式


       ---> HashMap :底层基于哈希表
          存储原理也使用哈希表来存放的:
                往HashMap添加了元素 ,首先会调用键的hashCode方法 获得一个哈希值,然后经过运算获取一个位置。
                情况1:如果位置上没有元素 ,那么直接将该元素存放在此位置。
                情况2:如果位置上有了元素,那么还会调用元素equals方法与这个位置的元素做比较,如果反回回来的true,
                那么就被视为相同的键,就不存,如果返回回来时false,那么就可存该元素。
             
          ---> TreeMap : 给予二叉树的结构存储。 特点:以键来做自然排序
               使用注意点:
                  1.往TreeMap 添加的元素时,如果元素的键具备自然排序功能,那么就会通过自然排序对元素进行排序。
                  2.往TreeMap 添加的元素时 如果不具备自然排序特性 ,键所属的类必须要实现Comparable接口,把这个键的比较规则
                  定义在compareTo方法中。
                  3.往TreeMap 添加的元素时 如果不具备自然排序特性,也没有实现Comparable接口,创建TreeMap的时候给他一个比较器
                  结构 :
                    class 类名  implements Compartor 接口{
                   
                    }
                   
                    键的比较规则定义在compare方法中。
               
          ---> HashTable : HashMap 一样的使用,线程安全。  访问比较慢  (了解)

       --->Map集合的便利方式(三种)

       map遍历元素方式一: keySet(); Set视图  -->获取所有的键用Set集合来保存
            特点 : 通过遍历键 ,通过键来取值
            Set<String> set = map.keySet();  
            Iterator<String> it = set.iterator();
            while(it.hasNext()){
                
                String key = it.next();
                System.out.println("键"+key +":值"+map.get(key));
            }

      map集合遍历方式二: values(); 获取map集合中所有的值,用Collection集合来保存
            Collection<String> coll = map.values();
            创建一个迭代器
            Iterator<String> it = coll.iterator();
            while(it.hasNext()){
                
                System.out.println("值:"+it.next());
                
            }

      map集合的遍历方式三:entrySet();
            Set<Map.Entry<String, String>> entrys = map.entrySet();
            获取迭代器
            Iterator<Map.Entry<String, String>> it = entrys.iterator();
            
           
             Map.Entry : 接口  :提供给用户来操作map集合
               getKey(); 获取键
               getValue();获取值
               setValue();更改值
            
            
            while(it.hasNext()){
                
                Map.Entry<String, String> entry = it.next();
          
                String key = entry.getKey();
                if(("1").equals(key)){
                    
                    entry.setValue("哈哈");
                }
                
                System.out.println("键:"+entry.getKey() + " 值:"+entry.getValue());
            }
           


           

  • 相关阅读:
    APP-SERVICE-SDK:setStorageSync:fail;at page/near/pages/shops/shops page lifeCycleMethod onUnload function
    css 别人找的css特效
    项目笔记2
    Win7如何删除需要管理员权限才能删除的文件夹
    Win7下C:UsersCortana以账户名称命名的系统文件夹用户名的修改
    Win10下C:UsersJohn以账户名称命名的系统文件夹用户名的修改
    windows10企业版怎么关闭自动更新
    给MySQL_5.7 配置环境变量
    用PE安装操作系统时:无法创建新的系统分区 也无法定位现有系统分区 的解决办法
    电脑内存和磁盘空间有什么区别与联系
  • 原文地址:https://www.cnblogs.com/houjiie/p/6121925.html
Copyright © 2020-2023  润新知