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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zj2427902512 中级黑马   /  2015-9-28 20:46  /  842 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合这一章中,各个类好多,如何区分?

1 个回复

正序浏览
是否键值对:
                是:Map
                        是否排序:
                                是:TreeMap
                                否:HashMap
                        不知道,HashMap
                否:Collection
                        是否唯一:
                                是:Set
                                        是否排序:
                                                是:TreeSet
                                                否:HashSet
                                        不知道,HashSet
                                否:List
                                        增删多:LinkedList
                                        查询多:ArrayList

                                        不知道,ArrayList
                不知道,用ArrayList

3:集合体系总结
        集合:
                |--Collection
                        |--List
                                |--ArrayList
                                        底层数据结构是数组,查询快,增删慢。
                                        线程不安全,效率高。
                                |--Vector
                                        底层数据结构是数组,查询快,增删慢。
                                        线程安全,效率低。
                                |--LinkedList
                                        底层数据结构是链表,查询慢,增删快。
                                        线程不安全,效率高。
                        |--Set
                                |--HashSet
                                        底层数据结构是哈希表。
                                        如何保证唯一性?
                                                依赖hashCode()和equals()
                                        顺序:
                                                先判断hashCode()值是否相同:
                                                        是:继续走equals(),看返回值
                                                                true:元素重复。不添加
                                                                false:元素不重复。添加
                                                        否:直接添加
                                        |--LinkedHashSet
                                                底层数据结构是链表和哈希表。
                                                        由链表保证有序(存储和取出一致)。
                                                        由哈希表保证元素唯一。
                                |--TreeSet
                                        底层数据结构是二叉树。
                                        如果保证唯一性?
                                                根据返回值是否是0。
                                        如何排序:
                                                自然排序:Comparable
                                                比较器排序:Comparator
                |--Map
                        |--HashMap
                                |--LinkedHashMap
                        |--Hashtable
                        |--TreeMap
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马