【数据结构】Java集合框架入门(一)

Java集合框架入门   ——基础概述

 

目录

## 结构简图

## 集合选取原则



【数据结构】Java集合框架入门(一)

## 结构简图:

    Collection:接口

          |---- List接口
          |         |---- Linkedlist                                    //双向链表,非同步,便于操作
          |         |---- ArrayList                                     //数组,非同步,便于查找,相比于Vector效率更高
          |         |---- Vector                                         //数组,同步,线程安全,多线程考虑替换ArrayList
          |----- Set接口
          |         |---- SortedSet接口
          |         |        |----  TreeSet                               //TreeMap,有序,唯一
          |         |----------- HashSet                              //HashMap,无序,唯一,线程不同步,不安全
          |                              |---- LinkedHashSet       //LinkedHashMap,有序,唯一,不安全
          |----Queue接口


    Map:接口

         |---- SortedMap接口
         |         |----TreeMap                                        //红黑树,有序
         |----------- HashTable                                     //哈希表,键值不可为null,线程同步,迭代器enumerator
         |----------- HashMap                                       //哈希表,键值可为null,线程不同步,迭代器iterator
         |                     |---- LinkedHashMap                //链表+哈希表,有序,不可重复(覆盖),不安全
         |----------- WeakHashMap                              //哈希表,弱数据类型
         |----------- IdentityHashMap                           //哈希表,允许重复

 

## 集合选取原则:

    键值对象?
        |--是:Map(排序?)
        |        |--是:TreeMap
        |        |--否:HashMap
        |--否:Collection(唯一?)
                 |--是:Set(排序?)
                         |--是:TreeSet
                         |--否:HashSet
                 |--否:List(安全?)
                         |--是:Vector
                         |--否:ArrayList/LinkedList
                                 |--查询:ArrayList
                                 |--操作:LinkedList