两者区别
- | 排序实现原理 | 是否允许重复元素 | 所继承的集合类 | 集合内元素是否有序 | 应用场景 |
---|---|---|---|---|---|
TreeSet | 排序二叉树 | 不允许,使用add() 方法时遇到相同元素会添加失败 | Set 集合 | 有序 | 需要找出集合中大于等于某个数值的最小值(ceiling() 方法),或小于等于某个数值的最大值(floor() 方法),即有不等关系的需求(时间复杂度为二分法的时间复杂度)(还有higher() 和lower() 方法分别代表大于以及小于某个值) |
PriorityQueue | 堆排序 | 允许 | queue (队列)集合 | 无序 | 需要找出集合中的最大值(队列尾部)或最小值(队列头部)时,即有最值的需求 |
版权声明:本文为qq_36334929原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。