Hogyan lehet megvalósítani a prioritási várólistát a Java-ban?



Ez a cikk a programozási tartomány egy másik érdekes témáját ismerteti, amely a Java prioritási sora, a bemutatással együtt

Prioritás Sor Java-ban akkor kerül felhasználásra, ha az objektumokat feltehetően a prioritás alapján kell feldolgozni. Ez a cikk segít részletesen felfedezni ezt a koncepciót. A következő hivatkozásokkal foglalkozunk ebben a cikkben,

Tehát kezdjük el akkor,





Prioritási sor Java-ban

Mint már említettük, egy PriorityQueue-t használunk, amikor az objektumokat a prioritás alapján kell feldolgozni. Ismeretes, hogy a sor az First-In-First-Out algoritmust követi, de néha szükség van a sor elemeinek feldolgozására a prioritás szerint, ekkor lép be a PriorityQueue. A PriorityQueue a prioritási kupacon alapul. Az elsőbbségi sor elemeit a természetes sorrend szerint rendezik, vagy a sor készítésének idején megadott összehasonlító, attól függően, hogy melyik kivitelezőt használják. A Fontos sor néhány fontos pontja a következő:

  • A PriorityQueue nem engedélyezi a NULL mutatókat.
  • Nem hozhatunk létre PriorityQueue objektumokat, amelyek nem összehasonlíthatók
  • A PriorityQueue nem kötött sorok.
  • Ennek a sornak a feje a legkevesebb elem a megadott sorrendhez képest. Ha több elem van megkötve a legkevesebb értelemben, akkor a fej az egyik ilyen elem - a kapcsolatok önkényesen megszakadnak.
  • A sorkeresési műveletek lekérdezik, eltávolítják, bekukucskálják, és az elemek hozzáférnek a sor elején lévő elemhez.
  • Örökli az AbstractQueue, az AbstractCollection, a Collection és az Object osztály metódusait.

Továbbhaladva ezzel a cikkel a Java elsőbbségi soráról



Várakozási felület nyilatkozat

nyilvános felület A várólista kiterjeszti a Gyűjteményt

hogyan kell írni a tostring módszert java-ban

Továbbhaladva ezzel a cikkel a Java elsőbbségi soráról

A Java Queue interfész módszerei

Módszer Leírás

logikai hozzáadás (objektum)



Arra szolgál, hogy a megadott elemet beszúrja ebbe a sorba, és igaz legyen a siker után.

logikai ajánlat (objektum)

sort int tömb c ++

Arra szolgál, hogy a megadott elemet beszúrja ebbe a sorba.

Objektum eltávolítása ()

A sor fejének lekérésére és eltávolítására szolgál.

Objektum szavazás ()

Ez a sor fejlécének lekérésére és eltávolítására szolgál, vagy null értéket ad vissza, ha ez a sor üres.

Objektum elem ()

Ennek a sornak a lekérdezésére szolgál, de nem távolítja el.

Objektum pillantása ()

Arra szolgál, hogy lekérje, de nem távolítja el a sor fejét, vagy null értéket ad vissza, ha a sor üres.

Továbbhaladva ezzel a cikkel a Java elsőbbségi soráról

Példa

csomag com.journaldev.collections

c ++ a névterek használata
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) {// prioritási sor természetes sorrendje Queue integerPriorityQueue = new PriorityQueue (7) Véletlenszerű 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()) } } } 

Kimenet:

Output- Priority Queue in Java- Edureka

Így a „Priority Queue in Java” című cikk végéhez érkeztünk. Ha többet szeretne megtudni, nézze meg a Edureka, egy megbízható online tanulási társaság. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát arra tervezték, hogy mind az alapvető, mind a fejlett Java koncepciókra kiképezzen különféle Java keretrendszereket, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.