Java类有哪些集合,请简单介绍一下。
Java集合类主要有Collection接口和Map接口两种。Collection接口主要存储集合类数据,而Map主要存储键值类数据(key-value)。
而Collection接口又区分List,Set,Queue接口。
List接口:
ArrayList:基于动态数组,查询快。写入,删除慢。
LinkedList:基于双向链表,插入,删除快,查询快。
Vector:线程安全的动态数组,类似ArrayList,但是开销大。
Set接口:
HashSet:基于哈希表,元素无序,不允许重复。
LinkedHashSet:基于链表和哈希表,维护插入顺序,不允许重复。
TreeSet:基于红黑树,元素有序,不允许重复。
Queue接口:
PrioprtyQueue:基于优先级堆,元素按照自然顺序或指定比较器排序。
linkedSet:可以作为队列使用,支持FIFO(先进先出)操作。
Map接口:
HashMap:基于哈希表,键值对无序,不允许键重复。
LinkedHashMap:基于链表和哈希表,维护插入顺序,不允许键重复。
TreeMap:基于红黑树,键值对有序,不允许键重复。
HashTable:线程安全的哈希表,不允许键或值对为null。
ConcuuentHashMap:线程安全的哈希表,适合高并发,不允许键或值为null。