Jak zaimplementować kolejkę priorytetów w Javie?



Ten artykuł wprowadzi Cię w kolejny ciekawy temat z dziedziny programowania, jakim jest kolejka priorytetowa w Javie wraz z demonstracją

Priorytet Kolejka w Javie jest używany, gdy obiekty mają być przetwarzane na podstawie priorytetu. Ten artykuł pomoże ci szczegółowo zbadać tę koncepcję. Poniższe wskazówki zostaną omówione w tym artykule,

A więc zacznijmy,





Kolejka priorytetowa w Javie

Jak już wspomniano, PriorityQueue jest używana, gdy obiekty mają być przetwarzane na podstawie priorytetu. Wiadomo, że kolejka działa zgodnie z algorytmem First-In-First-Out, ale czasami elementy kolejki muszą zostać przetworzone zgodnie z priorytetem, czyli wtedy, gdy w grę wchodzi PriorityQueue. PriorityQueue jest oparta na stercie priorytetów. Elementy kolejki priorytetowej są uporządkowane zgodnie z naturalną kolejnością lub przez Komparator dostarczany w czasie budowy kolejki, w zależności od używanego konstruktora. Kilka ważnych punktów dotyczących kolejki priorytetowej to:

  • PriorityQueue nie zezwala na wskaźniki NULL.
  • Nie możemy utworzyć PriorityQueue obiektów, które są nieporównywalne
  • PriorityQueue to niepowiązane kolejki.
  • Nagłówek tej kolejki jest najmniejszym elementem pod względem określonej kolejności. Jeśli kilka elementów ma najmniejszą wartość, głowa jest jednym z tych elementów - remisy są zrywane arbitralnie.
  • Operacje pobierania kolejki sondują, usuwają, wglądają i uzyskują dostęp do elementu na początku kolejki.
  • Dziedziczy metody z klas AbstractQueue, AbstractCollection, Collection i Object.

Przechodząc do tego artykułu na temat kolejki priorytetowej w Javie



Deklaracja interfejsu kolejki

interfejs publiczny Kolejka rozszerza kolekcję

Przechodząc do tego artykułu na temat kolejki priorytetowej w Javie

Metody Java Queue Interface

metoda Opis

dodawanie logiczne (obiekt)



merge sort pseudokod c ++

Służy do wstawiania określonego elementu do tej kolejki i zwracania wartości true po pomyślnym zakończeniu.

oferta logiczna (obiekt)

Służy do wstawiania określonego elementu do tej kolejki.

Usuń obiekt ()

ssis tutorial dla początkujących 2012 z przykładami

Służy do pobierania i usuwania nagłówka tej kolejki.

Sonda obiektu ()

Służy do pobierania i usuwania nagłówka tej kolejki lub zwraca wartość null, jeśli ta kolejka jest pusta.

Element obiektu ()

Służy do pobierania, ale nie usuwa, głowy tej kolejki.

Podgląd obiektu ()

Służy do pobierania, ale nie usuwa nagłówka tej kolejki lub zwraca wartość null, jeśli ta kolejka jest pusta.

Przechodząc do tego artykułu na temat kolejki priorytetowej w Javie

Przykład

pakiet com.journaldev.collections

jak korzystać z tostringu w java
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) {// przykład naturalnej kolejności kolejki priorytetowej Queue 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()) } } } 

Wynik:

Wyjście - kolejka priorytetowa w Javie - Edureka

W ten sposób doszliśmy do końca artykułu „Kolejka priorytetowa w Javie”. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online. Szkolenie i certyfikacja J2EE i SOA firmy Edureka ma na celu przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.