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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丹霞似锦 中级黑马   /  2016-7-28 07:21  /  318 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合
|--Collection(单列)
          |--List(存取有序,元素可重复)
                 |--ArrayList
                      底层数据结构是数组,查询快,增删慢。
                      线程不安全,效率高。
                 |--Vector
                     底层数据结构是数组,查询快,增删慢。
                     线程安全,效率低。
                |--LinkedList
                    底层数据结构是链表,查询慢,增删快。
                    线程不安全,效率高。
          |--Set(存取无序,元素唯一)
                |--HashSet
                    底层数据结构是哈希表。
                    线程不安全,效率高
怎么保证唯一性的呢?
它依赖两个方法:hashCode()equals()
顺序:
首先判断hashCode()值是否相同。
同:继续走equals(),看返回值
如果true:就不添加到集合。
如果false:就添加到集合。
不同:就添加到集合。
                |--TreeSet
                    底层数据结构是二叉树。              
                    线程不安全,效率高。
怎么保证唯一性的呢?是根据返回是否是0。    (需要重写Comparator接口中的compare方法)
怎么保证排序的呢?两种方式
自然排序(元素具备比较性)
实现Comparable接口,重写compareTo()方法
比较器排序(集合具备比较性)
实现Comparator接口,重写compara()方法
|--Map(双列 底层结构是针对键有效,跟值无关)
       |--HashMap
         底层数据结构是哈希表。
         线程不安全,效率高。
怎么保证唯一性的呢?
它依赖两个方法:hashCode()equals()
顺序:
首先判断hashCode()值是否相同。
同:继续走equals(),看返回值
如果true:就不添加到集合。
如果false:就添加到集合。
不同:就添加到集合。
        |--Hashtable
          底层数据结构是哈希表。
          线程安全,效率低。
怎么保证唯一性的呢?
它依赖两个方法:hashCode()equals()
顺序:
首先判断hashCode()值是否相同。
同:继续走equals(),看返回值
如果true:就不添加到集合。
如果false:就添加到集合。
不同:就添加到集合。
           |--TreeMap
              底层数据结构是二叉树。
              线程不安全,效率高。
怎么保证唯一性的呢?是根据返回是否是0。  (需要重写Comparator接口中的compare方法)
怎么保证排序的呢?两种方式
自然排序(元素具备比较性)
实现Comparable接口,重写compareTo()方法
比较器排序(集合具备比较性)
实现Comparator接口,重写compara()方法

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马