Java集合总结

集合框架总结:数组

在正式总结以前,简单看一下集合和数组的区别

数组是固定的,集合是可变的;数组能够是基本类型,也能够是引用类型,可是集合只能是引用类型;数组只能存储同一种类型,集合能够存储不一样类型(一般集合存储的也是同一种类型)。安全

Collection接口

List

有序,可重复,能够插入多个null元素框架

ArrayList

底层是数组结构,线程不安全,效率高,查询快,增删慢。线程

LinkedList

底层是链表结构,线程不安全,效率高,增删快,查询慢,且对首尾元素的操做容易,通常能够直接添加、删除、获取首尾元素。接口

Vector

底层是数组结构,线程安全,同ArrayList同样,查询快,增删慢,可是效率低。io

Set

无序,不可重复,只容许存入一个null元素效率

HashSet

底层采用哈希表实现,List

TreeSet

Queue

Map接口

键值对形式存储,也就是key-value形式,存储键和值之间的映射,无序,惟一,键不可重复,引用

TreeMap

HashMap

HashTable

ConcurrentHashMap

LinkedHashMap