2016-10-03 3 views
-3

Я пытался инициализировать очереди приоритета, но я нашел эту ошибку:ошибка: нет ни одного подходящего конструктора найдено для PriorityQueue (компаратор)

import java.util.*; 
PriorityQueue<Integer> pq = new PriorityQueue<Integer>(Collections.reverseOrder()); 

ошибка: нет подходящего конструктора найдено для PriorityQueue (компаратор)

Я пытался найти решение, но до сих пор не было решения. Любое предложение было бы лучше. Спасибо заранее!

+0

странно компилируется на моей стороне –

+0

Пожалуйста, обратитесь к документу Java: https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue .html. Это должно дать вам представление обо всех конструкторах для этого класса. –

+0

Какая версия Java у вас есть? Этот конструктор доступен только на Java 8. Возможно, вы смешиваете Java 7 и Java 8 –

ответ

3

Конструктор, который принимает Comparator, также требует начальной емкости.

Например, new PriorityQueue<Integer>(100, Collections.reverseOrder());.

(или обновить Java)

+1

Не из Java 8 https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html#PriorityQueue-java.util .Comparator- –

+0

Но это не помогает ему, так как он не на Java 8. – Kayaman

+0

Откуда вы знаете? –