Приоритет Опашка в 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 J2EE и SOA на Edureka е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.