黑马程序员技术交流社区

标题: 小小的总结集合 希望能帮助大家 [打印本页]

作者: 562181817    时间: 2016-2-28 15:32
标题: 小小的总结集合 希望能帮助大家
单列集合
顶层接口:Collection
        List体系
                特点:有序(存,取一致),可重复。
               
                子类:
                        ArrayList
                                底层数据结构是数组,查询快,增删慢,线程不安全,效率高。
                        Vector
                                数组。。。。 安全,效率低
                        LinkedList
                                链表。。查询慢,, 不安全,效率高。
       
        Set体系
                特点:无序(),唯一。
               
                子类:
                        HashSet
                                哈希表,线程不安全,效率高。
                                是怎么保证元素唯一性的?
                                        依赖 。。
                                LinkedHashSet:底层是链表,是Set体系中唯一一个可以保证 怎么存就怎么取的集合类。
                       
                        TreeSet
                                二叉树,不安全,效率高。
                                是怎么保证元素唯一性的?
                                        第一种:
                                                自然排序。
                                                        让基本类去实现Comparable接口,然后重写接口中的compareTo()方法
                                        第二种:
                                                通过比较器接口。
                                                        创建TreeSet集合对象的时候,传入一个比较器接口Comparator的 子类对象即可。
                                排序的时候:
        前 - 后: 小到大。
        后 - 前:
框架图
        单列集合
顶层接口:Collection
                List体系
                        特点:有序(存,取一致),可重复。
                       
                        子类:
                                ArrayList
                                        底层数据结构是数组,查询快,增删慢,线程不安全,效率高。
                                Vector
                                        数组 安全,效率低
                                LinkedList
                                        链表。。查询慢,, 不安全,效率高。
               
                Set体系
                        特点:无序(),唯一。
                       
                        子类:
                                HashSet
                                        哈希表,线程不安全,效率高。
                                        是怎么保证元素唯一性的?
                                                依赖 。。
                                        LinkedHashSet:底层是链表,是Set体系中唯一一个可以保证 怎么存就怎么取的集合类。
                               
                                TreeSet
                                        二叉树,不安全,效率高。
                                        是怎么保证元素唯一性的?
                                                第一种:
                                                        自然排序。
                                                                让基本类去实现Comparable接口,然后重写接口中的compareTo()方法
                                                第二种:
                                                        通过比较器接口。
                                                                创建TreeSet集合对象的时候,传入一个比较器接口Comparator的 子类对象即可。
                                        排序的时候:
        前 - 后: 小到大。
        后 - 前:
       
        双列集合
                Map
                        HashMap
                                哈希表,线程不安全,效率高。
                                如果键是自定义类型,怎么保证键的唯一?
                                        依赖 。。
                                LinkedHashMap:
                                        底层是链表,可以保证怎么存,就怎么取。
                       
                        TreeMap
                                二叉树,不安全,效率高。
                                如果键是自定义类型,怎么保证键的唯一?
                                        第二种:
                                                通过比较器接口。
                                                        创建TreeSet集合对象的时候,传入一个比较器接口Comparator的 子类对象即可。
                                        第一种:
                                                自然排序。
                                                        让基本类去实现Comparable接口,然后重写接口中的compareTo()方法
       
        面试题:
                Collection和Map的区别:
                        Collection:
                                单列,Set体系唯一,数据结构针对元素。
                        Map:
                                双列,键是唯一,数据结构针对键有效。
               
                HashMap和Hashtable
                        HashMap:
                                JDK1.2,线程不安全,效率高,可以存null值和键
                        Hashtable:
                                JDK1.0,安全,效率低,不能存null值和键
                                        t是小写

双列集合
        Map
                HashMap
                        哈希表,线程不安全,效率高。
                        如果键是自定义类型,怎么保证键的唯一?
                                依赖 。。
                        LinkedHashMap:
                                底层是链表,可以保证怎么存,就怎么取。
               
                TreeMap
                        二叉树,不安全,效率高。
                        如果键是自定义类型,怎么保证键的唯一?
                                第二种:
                                        通过比较器接口。
                                                创建TreeSet集合对象的时候,传入一个比较器接口Comparator的 子类对象即可。
                                第一种:
                                        自然排序。
                                                让基本类去实现Comparable接口,然后重写接口中的compareTo()方法









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