黑马程序员技术交流社区

标题: 集合学习心得这是我的课堂笔记大家可以借鉴 [打印本页]

作者: kjkjkjh    时间: 2015-12-16 23:58
标题: 集合学习心得这是我的课堂笔记大家可以借鉴
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()方法
作者: zcbcba123    时间: 2015-12-17 02:17
明天好好研究下这些




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2