嗨,伙计们
我一直在研究如何实现和使用 Java PriorityQueue。
我需要的队列必须能够比较两种不同类型对象的优先级。
我找到并阅读了这篇PriorityQueue文章,但没有提及是否可以比较两种不同类型的对象。
你知道这是否可能吗?
谢谢
Gunnlaugur
嗨,伙计们
我一直在研究如何实现和使用 Java PriorityQueue。
我需要的队列必须能够比较两种不同类型对象的优先级。
我找到并阅读了这篇PriorityQueue文章,但没有提及是否可以比较两种不同类型的对象。
你知道这是否可能吗?
谢谢
Gunnlaugur
根据 Java 1.6 的 API,您可以向Comparator
构造PriorityQueue
函数提供一个。此外,您可以让队列对象的类实现Comparable
接口,该接口定义了一个compareTo
用于比较对象的方法。
由于Object
是最通用的类并且是所有东西的超类,您可以实现自己的Comparator <Object>
,将您的队列声明为PriorityQueue <Object>
并将您的比较器传递给队列的构造函数。