有Set的快速查找和PriorityQueue优先排序两种特性的数据结构如何来实现


本以为TreeSet可以实现,但TreeSet中实现的compareTo方法相等的元素只能存储一个,即认定了元素相等,但实际上equals方法是不相等的,compareTo需要类似PriorityQueue那样对元素进行优先级排序,但同时需要Set中快速查找算法,这样的数据结构如何来实现。

java 数据结构

ㄗs守護喵 10 years, 10 months ago

同时使用两个容器不就行了?hashset保持索引.queue保持顺序.你也会认为这种方法是对引用空间的浪费,或者看起来很恶心.事实上,很多开源项目的源码中,就是这么使用的.除非你确定你要的数据结构在以后的扩展与变化中保持足够的稳定性.或者有绝对严格的空间或者效率要求,否则就不要和它较劲.

tokidai answered 10 years, 10 months ago

Your Answer