Java PriorityQueue и сопоставимый интерфейс - PullRequest
0 голосов
/ 14 апреля 2011

Привет, ребята

Я искал, как реализовать и использовать Java PriorityQueue.
Очередь, которая мне нужна, должна иметь возможность сравнивать приоритет двух разных типов объектов.
Я нашел и прочитал эту статью PriorityQueue , но там нет упоминания о возможности сравнения двух разных типов объектов.

Вы знаете, возможно ли это?

Спасибо
Гуннлаугур

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

Согласно API Java 1.6, вы можете предоставить Comparator конструктору PriorityQueue . Кроме того, вы можете позволить классам объектов очереди реализовать интерфейс Comparable, который определяет метод compareTo, который вызывается для сравнения объектов.

1 голос
/ 14 апреля 2011

Поскольку Object является наиболее общим классом и является суперклассом для всего, вы можете реализовать свой собственный Comparator <Object>, объявить свою очередь как PriorityQueue <Object> и передать свой компаратор конструктору очереди.

...