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:
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.