黑马程序员技术交流社区

标题: 集合总结,清晰明了 [打印本页]

作者: xyy222    时间: 2016-12-3 00:27
标题: 集合总结,清晰明了
集合总结
        Collection(接口)
                |--List(接口)        有序,可重复,有索引   
                        |--ArrayList
                                底层数据结构是数组,查询快,增删慢。
                                线程不安全,效率高
                        |--Vector
                                底层数据结构是数组,查询快,增删慢。
                                线程安全,效率低
                        |--LinkedList
                                底层数据结构是链表,查询慢,增删快。
                                线程不安全,效率高
                |--Set(接口)        无序,唯一,无索引
                        |--HashSet
                                底层数据结构是哈希表。
                                如何保证元素唯一性的呢?
                                        依赖两个方法:hashCode()和equals()
                                        开发中自动生成这两个方法即可
                                |--LinkedHashSet
                                        底层数据结构是链表和哈希表
                                        由链表保证元素有序
                                        由哈希表保证元素唯一
                        |--TreeSet
                                底层数据结构是红黑树。
                                如何保证元素排序的呢?                                        自然排序:实现Comparable接口,重写compareTo()方法
                                        比较器排序:定义一个比较器实现Comparator接口,重写compare方法
                                                           定义集合的时候将比较器作为参数传递给TreeSet的构造函数,这样集合就具有了比较性
                                如何保证元素唯一性的呢?
                                        根据比较的返回值是否是0来决定
                                       
        |Map(接口)        双列集合的根接口   键key   值value  (存取无序、键不可重复、无索引)
                |--HashMap        底层是哈希表,存取无序、键不可重复、无索引,线程不安全,效率高。允许存储null键和null值
                        |--LinkedHashMap        存取有序,其他和Map一样
                |--Hashtable        底层是哈希表,存取无序、键不可重复、无索引,线程安全,效率低。不允许存储null值,null键
                |--TreeMap                底层是二叉树,排序、键不可重复、无索引。


作者: 你好,师姐    时间: 2016-12-3 01:23
可以收藏

作者: lieyemu    时间: 2016-12-3 22:29
赞一个              




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