Java PriorityQueue 和 Comparable 接口
大家好
我一直在研究如何实现和使用 Java PriorityQueue。
我需要的队列必须能够比较两种不同类型对象的优先级。
我找到并阅读了这篇 PriorityQueue 文章,但没有提及是否可以比较两种不同类型的物体。
你知道这是否可能吗?
谢谢
贡劳格
Hi there folks
I've been looking at how to implement and use Java PriorityQueue.
The queue I need has to be able to compare priority of two different type of objects.
I found and read this PriorityQueue article, but there is no mention if it's possible to compare two different type of objects.
Do you know if it's possible?
Thanks
Gunnlaugur
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据Java 1.6的API, 您可以向
PriorityQueue
构造函数提供一个Comparator
。另外,您可以让队列对象的类实现 < code>Comparable 接口,它定义了一个compareTo
方法,调用该方法来比较对象。According to Java 1.6's API, you can provide a
Comparator
to thePriorityQueue
constructor. Also, you can let the queue objects' classes implement theComparable
interface, which defines acompareTo
method that is invoked to compare the objects.由于
Object
是最通用的类,并且是所有内容的超类,因此您可以实现自己的Comparator
Since
Object
is the most general class and is superclass of everything, you may implement your ownComparator <Object>
, declare your queue asPriorityQueue <Object>
and pass your comparator to queue's constructor.