黑马程序员技术交流社区

标题: list和 set一些总结 [打印本页]

作者: 751309401    时间: 2015-7-24 23:27
标题: list和 set一些总结
list和set都是接口,继承collection
list分为ArrayList查询快增删慢,和vector是安全的和linkedlist查询慢增删快,
作者: 751309401    时间: 2015-7-24 23:42
一般都用arraylist
还有set。 fashset 和treeset
fashset是哈希表,唯一和不重复,要重写equals和hashcode方法
treeset是二叉树,需要构造器或者comtarale

作者: 751309401    时间: 2015-7-24 23:43
这个list元素是可以重复的,有序的,底层是数组构成
作者: longbao    时间: 2015-7-24 23:45
明天会学,,,
作者: n361204357    时间: 2015-7-24 23:55
Collection
                |--List
                        元素有序(指的是存储顺序和取出顺序是否一致),可重复。
                |--Set
                        元素无序,唯一。
List的三个儿子特点:                List
                        |--ArrayList
                                底层数据结构是数组,查询快,增删慢
                                线程不安全,效率高
                        |--Vector
                                底层数据结构是数组,查询快,增删慢
                                线程安全,效率低
                        |--LinkedList
                                底层数据结构是链表,查询慢,增删快
                                线程不安全,效率高
|--Set 唯一
                        |--HashSet
                                底层数据结构是哈希表。
                                如何保证元素唯一性呢?
                                依赖两个方法。hashCode()和equals()。
                                以后都自动生成。
                        |--TreeSet
                                底层数据结构是二叉树。
                                如何保证元素唯一性呢?如何保证元素排序呢?       
                                根据返回值是否是0,判断元素是否重复。
                                排序有两种方案:
                                        元素具备比较性 实现Comparable接口
                                        集合具备比较性 实现Comparator接口




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