zoukankan      html  css  js  c++  java
  • 章节七、6-Map集合的区别

    一、通过entrySet取出Map中的元素

    package ZangJie7;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class MapsIteration {
    
        public static void main(String[] args) {
    //        HashMap不保证有序
            Map<Integer,String> hashMap = new HashMap<Integer,String>();
            hashMap.put(1,"BwM");
            hashMap.put(6,"AuDi");
            hashMap.put(4,"HonDo");
            
    /*        如何取出Map中的元素?
            Mao中有键值对的映射关系,可以用Entery来取出集合中元素,Entery是Map集合中的方法,
            这个方法返回的是Map方法中包含的映射关系的set集合,返回的是一个set集合,用高级for循环可以
            遍历set集合
            */
    //        Map集合不能直接用高级for来取出所有元素,只能通过调用他里面的方法返回set集合,然后再遍历set集合
            
            for(Map.Entry<Integer,String> entry:hashMap.entrySet()) {
                
    //            定义一个变量来接收键值对中的键,int是键的返回值类型,类型的数据接收时就需要用相同的类型来接收
    //            getKey()方法用来返回键值对中的键
                int key = entry.getKey();
    //            返回键值对映射关系中的值
                String value = entry.getValue();
                System.out.println("键"+key+"值"+value);
            }
    
        }
    
    }

    返回结果为:

    二、通过keySet取出Mao集合中的值

    package ZangJie7;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class MapsIteration {
    
        public static void main(String[] args) {
    //        HashMap不保证有序
            Map<Integer,String> hashMap = new HashMap<Integer,String>();
            hashMap.put(1,"BwM");
            hashMap.put(6,"AuDi");
            hashMap.put(4,"HonDo");
            
    //        通过keySet取出集合中的值:
    //        通过这个方法可以取出集合中所有的键,放到set中,然后用高级for循环来遍历这些键
            for(Integer key:hashMap.keySet()) {
    //            key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
                String value = hashMap.get(key);
                System.out.println("键"+key+"值"+value);
    
            }
            
        }
    
    }

    运行结果为:

    三、LinkHashMap

    //        LinkedHashMap可以保证有序,怎么存值就怎么取值
            Map<Integer,String> leHashMap = new LinkedHashMap<Integer,String>();
            leHashMap.put(1,"BwM");
            leHashMap.put(6,"AuDi");
            leHashMap.put(4,"HonDo");
            for(Integer key:leHashMap.keySet()) {
    //            key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
                String value = leHashMap.get(key);
                System.out.println("键"+key+"值"+value);
            }

    运行结果为:

    四、TreeMap

    //        TreeMap自然排序,对Map集合中的键进行排序
            Map<Integer,String> tMap = new TreeMap<Integer,String>();
            tMap.put(1,"BwM");
            tMap.put(6,"AuDi");
            tMap.put(4,"HonDo");
            for(Integer key:tMap.keySet()) {
    //            key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
                String value = tMap.get(key);
                System.out.println("键"+key+"值"+value);
            }

    运行结果为:

     

    五、HashMap、LinkeHashMap、TreeMap的区别

    1、HashMap数据结构是hash表结构,不保证有序,允许有空键空值

    2、TreeMap自然排序方式,可以都Map集合中的键进行排序

    3、LinkeHashMap怎么存就怎么取,顺序一致

  • 相关阅读:
    面向 部分
    并发 编程
    数据库 部分
    匿名函数
    Linux 30岁,这些年经历了什么?
    漫谈 HTTP 连接
    华为交换机命令基础入门学习,小白也能看得懂!
    一文讲透APaaS平台是什么
    什么是边缘CDN和虚拟CDN (vCDN)?
    systemd进程管理工具实战教程
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/10646631.html
Copyright © 2011-2022 走看看