首页 > 其他 > 详细

map接口

时间:2021-07-07 12:45:08      阅读:12      评论:0      收藏:0      [点我收藏+]

Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值

HashMap<K,V>:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

LinkedHashMap<K,V>HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法

 

重点:遍历的四种方式:

public static void main(String[] args) {
        HashMap<String,Integer> map=new         
                HashMap<String,Integer>();
        //存值
        map.put("张三", 18);
        map.put("李四", 20);
        map.put("王五", 30);
        map.put("张三", 20);
        //删除元素
        //map.remove("李四");
        //取值
        //int value=map.get("李四");
        //System.out.println(value);
        //遍历
        //1.keyset+增强for
        //获取所有key所在的set集合
        /*Set<String> keys=map.keySet();
        //遍历取到每一个key值
        for(String key:keys){
            System.out.println(key+map.get(key));
        }*/
        //2.keySet+Iterator迭代器
        //获取所有key所在的set集合
        //Set<String> keys=map.keySet();
        //获取迭代器对象
        //Iterator<String> it=keys.iterator();
        //遍历取到每一个key
        /*while(it.hasNext()){
            String key=it.next();
            //根据key获取对应值
            System.out.println(key+map.get(key));
        }*/
        //3.entrySet+增强for
        //获取所有结婚证对象(Entry)所在的set集合
/*Set<Map.Entry<String,Integer>> entrys=map.entrySet();
        //遍历取到每一个结婚证对象
        for(Map.Entry<String,Integer> entry:entrys){
            //获取key
            String key=entry.getKey();
            //获取值
            int value=entry.getValue();
            System.out.println(key+value);
        }*/
        //entry+迭代器
        //获取所有结婚证对象所在的set集合
        Set<Entry<String, Integer>> entrys=map.entrySet();
        //获取迭代器对象
        Iterator<Entry<String, Integer>> it=entrys.iterator();
        //遍历取到每一个结婚证对象
        while(it.hasNext()){
            Entry<String, Integer> entry=it.next();
            //获取key
            String key=entry.getKey();
            //获取值
            int value =entry.getValue();
            System.out.println(key+value);
        }     

 

map接口

原文:https://www.cnblogs.com/xy19961213/p/14980445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!