Java.集合.基本初识

集合.基本初识

常用的集合分为两接口,Collection 与 Map

一、Collection:

Collection又分为List与Set两类接口

1. List:

    1. ArrayList:线性结构数组,数据可重复,线程不安全。 优点:查询元素速度快。缺点:增删元素速度慢。
    1. LinkedList:链式结构双向链表,数据可重复,线程不安全。优点:增删元素速度快,查询元素速度慢。
    1. Vector:线性结构数组,数据可重复,线程安全。优点:线程安全。缺点:效率低。(不常用)

2. Set:

    1. HashSet:底层数组,数据不可重复,线程不安全,优点查询速度快。
    1. LinkedHashSet:底层是链表+哈希表算法,数据不重复,有序,线程不安全。链表保证添加顺序,哈希表保证不重复。
    1. TreeSet:底层红黑树,数据不重复,有序,线程不安全。

Java.集合.基本初识
对于单向链表与双向链表的说明:
Java.集合.基本初识
Java.集合.基本初识

二、Map:

Map是结构(key-value),其中key不可重复,value可以重复。

    1. HashMap:底层数组 + 链表 + 红黑树。无序,线程不安全。
    1. Hashtable:线程安全效率较低。(不常用)
    1. TreeMap:红黑树算法,key按照自然顺序排序。
    1. LinkedHashMap:底层链表加哈希算法。key保证添加顺序。
    1. properties:Hashtable的子类,要求key与value都是String。

Java.集合.基本初识