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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zx0210 中级黑马   /  2015-9-14 23:57  /  632 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

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

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

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

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

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

2 个回复

正序浏览
学习了 我刚还提问这问题来着
回复 使用道具 举报
赞一个~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马