#java #priority-queue
#java #приоритетная очередь
Вопрос:
Я хочу создать очередь приоритетов в Java таким образом, чтобы я мог вводить <Целое число, символ> в каждой позиции. Здесь, чем выше целое число, тем выше должен быть его приоритет.
Например, допустим, у меня есть <20, ‘A’>, <30, ‘B’>, <40, ‘C’>, если я удаляю очередь, я должен получить C (или <40, ‘C’> что угодно). Я хочу использовать это один раз, а затем снова поставить в очередь <39, ‘C’>. И так далее, пока оно не закончится на 90. (Если целые числа равны, меня не волнует порядок.)
Несмотря на несколько поисковых запросов в Google, я нахожу только примеры добавления целого числа или класса и наличия функции сравнения. Может ли кто-нибудь помочь мне решить эту проблему?
Комментарии:
1. В Java нет официального типа «кортеж». Просто определите класс держателя, который имеет
int
иchar
, которые вы группируете.2. Ну, очередь приоритетов зависит от элементов, которые можно сортировать по приоритету. Таким образом, вам нужно будет ставить в очередь объекты, которые содержат как целое число, так и символ, а также предоставлять компаратор (или реализовывать элементы
Comparable
).3. Можно ли это сделать без необходимости объявлять явный класс, поскольку у меня есть только символ и целое число?