Как да внедрим приоритетна опашка в Java?



Тази статия ще ви запознае с още една интересна тема в домейна за програмиране, която е приоритетна опашка в Java, заедно с демонстрацията

Приоритет Опашка в Java се използва, когато обектите трябва да бъдат обработени въз основа на приоритета. Тази статия ще ви помогне да разгледате тази концепция в детайли. Следните указания ще бъдат обхванати в тази статия,

Нека започнем тогава,





Приоритетна опашка в Java

Както вече споменахме, се използва PriorityQueue, когато обектите трябва да бъдат обработени въз основа на приоритета. Известно е, че опашка следва алгоритъма „Първо в първото излизане“, но понякога е необходимо елементите на опашката да бъдат обработени в съответствие с приоритета, тогава влиза в игра PriorityQueue. PriorityQueue се основава на приоритетната купчина. Елементите на приоритетната опашка се подреждат според естественото подреждане или от сравнител, предоставен по време на изграждането на опашката, в зависимост от това кой конструктор е използван. Няколко важни точки в приоритетната опашка са както следва:

  • PriorityQueue не разрешава NULL указатели.
  • Не можем да създадем PriorityQueue от обекти, които са несравними
  • PriorityQueue са несвързани опашки.
  • Главата на тази опашка е най-малкият елемент по отношение на посочената поръчка. Ако няколко елемента са вързани за най-малка стойност, главата е един от тези елементи - връзките се прекъсват произволно.
  • Операциите за извличане на опашката анкетират, премахват, надникват и имат достъп до елемента в главата на опашката.
  • Той наследява методи от AbstractQueue, AbstractCollection, Collection и Object класа.

Продължавайки с тази статия за Priority Queue в Java



Декларация за интерфейс на опашката

публичен интерфейс Queue разширява Collection

сортиране на масив int c ++

Продължавайки с тази статия за Priority Queue в Java

Методи на интерфейса на Java Queue

Метод Описание

булево добавяне (обект)



Използва се за вмъкване на посочения елемент в тази опашка и връщане на true при успех.

булево предложение (обект)

готвач срещу кукла срещу дженкини

Използва се за вмъкване на посочения елемент в тази опашка.

Премахване на обект ()

Използва се за извличане и премахване на главата на тази опашка.

Обектна анкета ()

Използва се за извличане и премахване на главата на тази опашка или връща null, ако тази опашка е празна.

Елемент на обект ()

Използва се за извличане, но не премахване на главата на тази опашка.

Надникване на обект ()

Използва се за извличане, но не премахва главата на тази опашка или връща null, ако тази опашка е празна.

Продължавайки с тази статия за Priority Queue в Java

Пример

пакет com.journaldev.collections

рубин на релсов пазар на труда
import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random public class PriorityQueueExample {public static void main (String [] args) {// естествен пример за подреждане на опашката за приоритет Queger integerPriorityQueue = new PriorityQueue (7) Random rand = new Random () for (int i = 0i<7i++){ integerPriorityQueue.add(new Integer(rand.nextInt(100))) } for(int i=0i<7i++){ Integer in = integerPriorityQueue.poll() System.out.println('Processing Integer:'+in) } //PriorityQueue example with Comparator Queue customerPriorityQueue = new PriorityQueue(7, idComparator) addDataToQueue(customerPriorityQueue) pollDataFromQueue(customerPriorityQueue) } //Comparator anonymous class implementation public static Comparator idComparator = new Comparator(){ @Override public int compare(Customer c1, Customer c2) { return (int) (c1.getId() - c2.getId()) } } //utility method to add random data to Queue private static void addDataToQueue(Queue customerPriorityQueue) { Random rand = new Random() for(int i=0 i<7 i++){ int id = rand.nextInt(100) customerPriorityQueue.add(new Customer(id, 'Pankaj '+id)) } } //utility method to poll data from queue private static void pollDataFromQueue(Queue customerPriorityQueue) { while(true){ Customer cust = customerPriorityQueue.poll() if(cust == null) break System.out.println('Processing Customer with ID='+cust.getId()) } } } 

Изход:

Изход - Опашка с приоритет в Java- Edureka

По този начин стигнахме до края на тази статия за „Приоритетна опашка в Java“. Ако искате да научите повече, разгледайте от Edureka, доверена компания за онлайн обучение. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.