集合(set)
集合的特点:
- 不存放重复的元素
- 常用于去重(存放新增 IP,统计新增 IP 量 存放词汇,统计词汇量)
映射/字典(dictionary/Map)
Map 的每一个 key 是唯一的
类似 Set,Map 可以直接利用之前学习的链表、二叉搜索树(AVL树、红黑树)等数据结构来实现
Map 的所有 key 组合在一起,其实就是一个 Set.Set 可以间接利用 Map 来作内部实现
优先级队列(Priority Queue)
普通的队列是 FIFO 原则,也就是先进先出
优先级队列则是按照优先级高低进行出队,比如将优先级最高的元素作为队头优先出队
根据优先队列的特点,很容易想到:可以直接利用二叉堆作为优先队列的底层实现
可以通过 Comparator 或 Comparable 去自定义优先级高低
网友评论