常见的集合类型有哪些?
常见的Java集合可以分为两大类:Collection 和 Map。
- Collection 接口下主要有以下几种实现:
- List:有序的集合,其中的元素可以重复。
- ArrayList:基于动态数组实现,查询速度快,但在中间插入和删除元素时速度较慢。
- LinkedList:基于双向链表实现,插入和删除速度快,但查询速度较慢。
- Vector:与ArrayList类似,但它是线程安全的。
- Set:无序的集合,其中的元素不可以重复。
- HashSet:基于哈希表实现,不保证有序。
- LinkedHashSet:维护元素的插入顺序。
- TreeSet:基于红黑树实现,元素按照自然顺序或者自定义的比较器顺序进行排序。
- Queue:一种先进先出 (FIFO) 的数据结构。
- LinkedList:除了实现List接口外,还实现了Deque接口,可以作为双端队列使用。
- PriorityQueue:基于优先堆实现,元素可以按照自然顺序或者自定义的比较器顺序出队。
- Deque:双端队列,可以在队头和队尾进行元素的插入和删除。
- ArrayDeque:基于动态数组实现的双端队列。
- LinkedList:同样可以作为双端队列使用。
- List:有序的集合,其中的元素可以重复。
- Map:存储键值对,其中键是唯一的。
- HashMap:基于哈希表实现,不保证有序。
- LinkedHashMap:保持键的插入顺序。
- TreeMap:基于红黑树实现,键按照自然顺序或者自定义的比较器顺序进行排序。
- Hashtable:与HashMap类似,但它是线程安全的。