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