Java 开发入门指北
Java 集合框架的基本接口主要包括以下几种:
Collection:这是所有集合的根接口,定义了一些基本的操作,如添加、删除、检查元素等。
Set:Set 是一个不包含重复元素的集合。此接口的主要目的是确保元素的唯一性。
List:List 是一个有序的集合,可以包含重复的元素。它提供了对元素的索引访问。
Queue:Queue 是一个特殊的线性表,只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
Deque:Deque(double-ended queue)是一个双端队列,它可以从两端弹出元素。
Map:Map 是一种包含键值对的集合,其中每个键映射到一个唯一的值。
每种接口都有多个实现类,如 HashSet、ArrayList、LinkedList、PriorityQueue、ArrayDeque、HashMap 等。这些实
现类提供了具体的实现细节,例如如何存储元素、如何执行查找和排序等。
常见的集合类主要有以下几种:
Collection:这是最基本的集合类,是所有集合类的超类。
List:有序的、可重复的集合,提供了基于索引的访问方式。
ArrayList:基于数组实现,查询速度快,但不保证元素顺序,且不是线程安全的。
LinkedList:双向链表实现,可快速在列表前后插入和删除元素。
Set:无序的、不可重复的集合。
HashSet:基于哈希表实现,元素无序且唯一。
TreeSet:基于红黑树实现,元素有序且唯一。
Queue:先进先出(FIFO)的数据结构。
ArrayDeque:基于数组实现的双端队列。
Map:键值对的集合,提供了键到值的映射关系。
HashMap:基于哈希表实现,提供键到值的映射关系。
TreeMap:基于红黑树实现,提供键的自然顺序或自定义顺序到值的映射关系。
SortedMap 和 NavigableMap:这些是更复杂的 Map 接口,提供了排序和导航功能。
Deque:双端队列,支持在两端添加或删除元素。
BlockingQueue:线程安全的队列,支持在队列为空时阻塞添加元素,或队列满时阻塞移除元素。
ArrayBlockingQueue、LinkedBlockingQueue 等:这些是 BlockingQueue 的实现类,提供了线程安全的队列操作。
PriorityQueue:优先级队列,元素按照优先级排序。
ConcurrentSkipListMap 和 ConcurrentHashMap:这些是线程安全的集合类,适用于多线程环境。
CopyOnWriteArrayList 和 CopyOnWriteArraySet:这些集合类在修改时复制底层数据结构,适用于读多写少的场景,
提高并发性能。
BitSet:用于存储位操作的集合类。
EnumSet 和 EnumMap:专门用于枚举类型集合和映射的集合类。