为什么选择Java优先队列<;T>;不强制执行可比较的对象

为什么选择Java优先队列<;T>;不强制执行可比较的对象,java,generics,collections,priority-queue,Java,Generics,Collections,Priority Queue,为什么Java中的PriorityQueue定义为 PriorityQueue 而不是 PriorityQueue这样做的目的是,您仍然可以对未实现Comparable接口的对象使用优先级队列。在这种情况下,您只需提供自己的自定义比较器,一切正常 这增加了类的可用性,成本最低甚至是零。此行为在相关的.中有详细的记录:

为什么Java中的PriorityQueue定义为

PriorityQueue

而不是


PriorityQueue这样做的目的是,您仍然可以对未实现
Comparable
接口的对象使用优先级队列。在这种情况下,您只需提供自己的自定义比较器,一切正常

这增加了类的可用性,成本最低甚至是零。此行为在相关的.

中有详细的记录: