Понимание синтаксиса компаратора PriorityQueue в JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Понимание синтаксиса компаратора PriorityQueue в Java

Сообщение Anonymous »

Занимаюсь лит-кодированием. Топ K часто встречающихся элементов.
Я реализую свое решение через Max Heap. Может кто-нибудь помочь мне понять синтаксис компаратора PriorityQueue?

Код: Выделить всё

Map map = new HashMap();

//values are added to hashMap....

Queue heap = new PriorityQueue((a,b) -> map.get(b) - map.get(a));
Что происходит при создании экземпляра PriorityQueue в приведенном выше коде? Как сравниваются элементы a и b?
Я знаю, что создается структура максимальной кучи, но я хочу знать, что происходит в коде и как это отражает синтаксис компаратора.
Спасибо!!

Подробнее здесь: https://stackoverflow.com/questions/788 ... ax-in-java

Вернуться в «JAVA»