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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Collection(单列集合)        Map(双列集合)
          |--Collection(单列)
               |--List(有序,可重复)
                    |--ArrayList
                         底层数据结构是数组,查询快,增删慢。
                         线程不安全,效率高。
                    |--Vector
                         底层数据结构是数组,查询快,增删慢。
                         线程安全,效率低。
                    |--LinkedList   
                         底层数据结构是链表,查询慢,增删快。
                         线程不安全,效率高。
               |--Set(可能无序,肯定唯一)
                    |--HashSet
                         底层数据结构是哈希表。
                         线程不安全,效率高。

                         怎么保证唯一性的呢?
                         它依赖两个方法:hashCode()和equals()
                         顺序:
                              首先判断hashCode()值是否相同。
                              同:继续走equals(),看返回值
                                   如果true:就不添加到集合。
                                   如果false:就添加到集合。
                              不同:就添加到集合。
                    |--TreeSet
                         底层数据结构是二叉树。
                         线程不安全,效率高。

                         怎么保证唯一性的呢?是根据返回是否是0。
                         怎么保证排序的呢?两种方式
                              自然排序(元素具备比较性)
                                   实现Comparable接口
                              比较器排序(集合具备比较性)
                                   实现Comparator接口                  |--Map(双列 底层结构是针对键有效,跟值无关)
               |--HashMap
                    底层数据结构是哈希表。
                    线程不安全,效率高。允许null键和值

                    怎么保证唯一性的呢?
                    它依赖两个方法:hashCode()和equals()
                    顺序:
                         首先判断hashCode()值是否相同。
                         同:继续走equals(),看返回值
                              如果true:就不添加到集合。
                              如果false:就添加到集合。
                         不同:就添加到集合。
               |--Hashtable
                    底层数据结构是哈希表。
                    线程安全,效率低。不允许null键和值

                    怎么保证唯一性的呢?
                    它依赖两个方法:hashCode()和equals()
                    顺序:
                         首先判断hashCode()值是否相同。
                         同:继续走equals(),看返回值
                              如果true:就不添加到集合。
                              如果false:就添加到集合。
                         不同:就添加到集合。
               |--TreeMap
                    底层数据结构是二叉树。
                    线程不安全,效率高。

                    怎么保证唯一性的呢?是根据返回是否是0。
                    怎么保证排序的呢?两种方式
                         自然排序(元素具备比较性)
                              实现Comparable接口
                         比较器排序(集合具备比较性)
                              实现Comparator接口


评分

参与人数 1黑马币 +3 收起 理由
一枝梨花压海棠 + 3 很全面

查看全部评分

1 个回复

倒序浏览
很全面!!!!!!!!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马