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:专门用于枚举类型集合和映射的集合类。
IdentityHashMap:基于身份而不是值进行比较的映射类。
WeakHashMap:使用弱引用作为键的映射类。
LinkedHashMap:保持插入顺序的映射类。
Trie(前缀树):用于存储字符串的高效数据结构。
Bloom Filter:用于快速检查一个元素是否在一个集合中的概率数据结构。
Luhn Checksum:用于验证数据的校验和算法。
TST(Trie树的变种):用于高效地存储和搜索字符串集合的数据结构。
Prefix Tree(前缀树)或 Trie Tree(字典树):用于存储键值对的数据结构,可以高效地通过前缀搜索键。
Suffix Tree(后缀树)或 LZ77-like data structure(LZ77类似的数据结构):用于存储和搜索字符串数据结构。
** tries, radix tree, suffix tree, Fibonacci heap, Aho-Corasick automaton, Metacache(元缓存)等数据结构与算法**:这些也可以在某些情况下用作集合类或具有集合操作的功能。