A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Map双列集合:
        Map接口和Collection接口有什么不同?
                Collection:单列集合的顶层接口,它的子类Set体系具有唯一性,数据结构针对元素有效。
                Map:双列集合的顶层接口,键具有唯一性,数据结构只针对键有效。

                注意:
                        HashSet底层依赖的是HashMap。

        功能:
                添加:
                        put();                //如果键是第一次添加,返回null,
                                                //如果不是第一次添加,就用新值去替换旧的值,并且将 旧的值返回
                删除:
                        remove();        //根据键,删除该键值对,并且把删除前的值返回
                        clear();
                判断:
                        isEmpty();
                        containsKey();
                        containsValue();
                获取:
                        entrySet()
                        Set        keySet()
                        get()
                        Collection        values()

                长度:
                        size();        返回 键值对 的对数

                //创建双列集合对象,然后往里边添加元素,然后测试它的方法
                HashMap<String,Integer> hm = new HashMap<>();

        双列集合如何遍历:
                1、根据键找值。
                        A:获取所有键的集合。                                                                        keySet()
                        B:遍历键的集合,获取到每一个键。                                                增强for,迭代器
                        C:根据键找到对应的值。                                                                        get()

                2、根据 键值对对象 找 键和值。
                        A:获取 所有键值对 的集合。                                                                Set< Map.Entry<String,Integer> > entrySet();
                        B:遍历 键值对的集合,获取到每一个 键值对。                                增强for,迭代器
                        C:根据键值对对象,找到对应的键和值。                                        getKey(),getValue();


        HashMap:
                如果存储的元素,键是自定义类型,要保证键的唯一,必须重写hashCode(),equals()方法

                输出语句直接打印对象,默认调用的是该对象的toString()方法,
                如果打印的不是地址值,那么肯定该类或者该类的父类重写了Object类中的toString()方法。

                LinkedHashMap有什么特点:
                        底层是链表实现的,可以保证怎么存,就怎么取。(存取一致)
                        知识点回顾:
                                LinkedHasHSet:它是Set体系中,唯一一个可保证 存取一致 的集合类。

        TreeMap:
                存的键如果是自定义类型,如何保证键的唯一性?
                        第一种:自然排序
                                让该自定义类型去实现 Comparable接口,然后重写接口中的compareTo()方法

                        第二种:比较器接口
                                创建TreeMap集合对象的时候,传入一个比较器接口Comparator的子类对象,重写接口中的compare()方法

评分

参与人数 1黑马币 +2 收起 理由
xuran39847 + 2 赞一个!

查看全部评分

1 个回复

倒序浏览
明天好好研究下这些
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马