Clase Java.util.PriorityQueue en Java

Es una cola de prioridad basada en el montón de prioridad.

  • Los elementos de esta clase están en orden natural o dependen del Constructor que usamos en este momento de la construcción.
  • No permite punteros nulos.
  • No permite insertar un objeto no comparable, si se basa en un ordenamiento natural.

Constructores:

  • PriorityQueue(): crea una PriorityQueue con la capacidad inicial predeterminada (11) que ordena sus elementos según su orden natural.
  • PriorityQueue(Colección c): crea una PriorityQueue que contiene los elementos de la colección especificada.
  • PriorityQueue(int initialCapacity) : crea una PriorityQueue con la capacidad inicial especificada que ordena sus elementos según su orden natural.
  • PriorityQueue(int initialCapacity, Comparator comparador): Crea un PriorityQueue con la capacidad inicial especificada que ordena sus elementos de acuerdo con el comparador especificado.
  • PriorityQueue(PriorityQueue c) : Crea una PriorityQueue que contiene los elementos en la cola de prioridad especificada.
  • PriorityQueue(SortedSet c) : crea un PriorityQueue que contiene los elementos del conjunto ordenado especificado.

Declaración :

public class PriorityQueue
   extends AbstractQueue
   implements Serializable

Métodos:

  1. add(element) : java.util.PriorityQueue.add() inserta los elementos en la cola de prioridad.
    Sintaxis:
    public boolean add(E e)
    Parameters  :
    element : the element we need to add.
    Return  :
    call return true.
    Exception : 
    -&gt ClassCastException 
    -&gt NullPointerException
    
  2. comparator() : java.util.PriorityQueue.comparator() ordena los elementos en la cola.
    Sintaxis:
    public Comparator comparator()
    Parameters  :
    -------
    Return  :
    orders the queue or return null, if it is naturally ordered 
    Exception : 
    ----------
    
  3. contains(Object obj) : java.util.PriorityQueue.contains(obj) devuelve verdadero si la cola de prioridad contiene el elemento “obj”.
    Sintaxis:
    public boolean contains(Object obj)
    Parameters  :
    obj : object to be checked
    Return  :
    true - if the object is present else, return false
    Exception : 
    
    
  4. iterator() : java.util.PriorityQueue.iterator() itera sobre el elemento de la cola.
    Sintaxis:
    public Iterator iterator()
    Parameters  :
    -------
    Return  :
    calls iterator over the elements in the queue.
    Exception : 
    --------
    
  5. oferta(elemento) : se requiere java.util.PriorityQueue.offer() para insertar un elemento específico en la cola de prioridad dada.
    Sintaxis:
    public boolean offer(E element)
    Parameters  :
    element : specific element to  be entered.
    Return  :
    call return true.
    Exception : 
    -&gt ClassCastException 
    -&gt NullPointerException
    
  6. peek() : java.util.PriorityQueue.peek() identifica el elemento principal de la cola.
    Sintaxis:
    public E peek()    
    Parameters  :
    -------
    Return  :
    calls if head exists, else null
    Exception : 
    ------
    
  7. poll() : java.util.PriorityQueue.poll() identifica el encabezado y luego lo elimina.
    Sintaxis:
    public E poll()    
    Parameters  :
    ---
    Return  :
    calls if head exists, else null
    Exception : 
    ------
    
  8. remove(Object obj) : java.util.PriorityQueue.remove() elimina un objeto específico de la cola.
    Sintaxis:
    public boolean remove(Object obj)
    Parameters  :
    obj : object to be removed
    Return  :
    true - if obj is removed
    Exception : 
    ------
    
  9. size() : java.util.PriorityQueue.size() devuelve el tamaño de los elementos en la cola de prioridad.
    Sintaxis:
    public int size()
    Parameters  :
    ----
    Return  :
    no. of elements
    Exception : 
    ---------
    
  10. toArray() : java.util.PriorityQueue.toArray() devuelve una array que contiene los elementos de PriorityQueue.
    Sintaxis:
    public Object[] toArray()
    Parameters  :
    ------
    Return  :
    returns an array containing all the elements of PriorityQueue.
    Exception : 
    --------
    
  11. toArray(T[] array) : java.util.PriorityQueue.toArray(T[] a) devuelve la array que tiene los elementos de Priority Queue.
    Sintaxis:
    public  T[] toArray(T[] array)
    Parameters  :
    array  : the array to which are to be sorted. 
    Return  :
    call an array containing all the elements of the array. 
    Exception : 
    -> ArrayStoreException
    -> NullPointerException
    
  12. clear() : java.util.PriorityQueue.clear() borra todos los elementos de PriorityQueue.
    Sintaxis:
    public void clear()        
    Parameters  :
    ---
    Return  :
    ------
    Exception : 
    ------
    
  13. // Java Program illustrating the methods
    // of java.utl.priorityQueue class
      
    // add(), comparator(), conatins(), iterator(), offer()
    // peek(), poll(), toArray(), size(), toArray(t[] g1),
    // remove(), clear()
      
    import java.util.*;
    public class NewClass
    {
        public static void main(String[] args)
        {
            // Creating a Priority Queue :
            PriorityQueue <Integer> geek = new PriorityQueue <Integer>();
      
            for(int i=2; i<=20; i=i+2)
            {
                // Use of add() :
                geek.add(new Integer (i));
            }
      
            System.out.println("geek PriorityQueue : " + geek);
      
            // Use of comparator() 
            // No ordering is required here as it is naturally ordered.
            Comparator geek_comp = geek.comparator();
            System.out.println("geek PriorityQueue : " + geek_comp);
      
            // Use of contains() 
            boolean check = geek.contains(6);
            System.out.println("Use of contains() : " + check);
      
            // Use of iterator() 
            Iterator g_iterator = geek.iterator();
      
            System.out.print("Iterator values : ");
            while(g_iterator.hasNext())
            {
                System.out.print(g_iterator.next() + " ");
            }
            System.out.println("");
      
            // Use of offer() 
            geek.offer(3050);
            System.out.println("geek PriorityQueue : " + geek);
      
            // Use of peek() 
            System.out.println("Head of PriorityQueue via peek : " + geek.peek());
      
            //Use of poll() 
            int h = geek.poll();
            System.out.println("\nHead of PriorityQueue via poll : " + h);
            System.out.println("geek PriorityQueue bcz of poll() : " + geek);
      
            // Use of remove()
            boolean r = geek.remove(8);
            System.out.println("\nCan remove : " + r);
            System.out.println("geek PriorityQueue bcz of remove() : " + geek);
      
            // use of size() 
            System.out.println("\nSize of PriorityQueue : " + geek.size());
      
            // Use of toArray() 
            Object[] g = geek.toArray();
            System.out.print ( "Array from PriorityQueue : ");
      
            for ( int i = 0; i<g.length; i++ )
            {
                System.out.print (g[i].toString() + " ") ;
            }
      
            System.out.println("\n");
      
            // Use of toArray(t[] g1) :
            Integer[] g2 = new Integer[5];
            Integer[] g1 = geek.toArray(g2);
            System.out.print ( "Array from PriorityQueue of size 5 : ");
      
            for ( int i = 0; i<g1.length; i++ )
            {
                System.out.print (g1[i].toString() + " ") ;
            }
      
            System.out.println("\n");
      
            // Use of clear() 
            geek.clear();
            System.out.println("PriorityQueue after clear() : " + geek);
      
        }
    }

    Producción :

    geek PriorityQueue : [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
    geek PriorityQueue : null
    Use of contains() : true
    Iterator values : 2 4 6 8 10 12 14 16 18 20 
    geek PriorityQueue : [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 3050]
    Head of PriorityQueue via peek : 2
    
    Head of PriorityQueue via poll : 2
    geek PriorityQueue bcz of poll() : [4, 8, 6, 16, 10, 12, 14, 3050, 18, 20]
    
    Can remove : true
    geek PriorityQueue bcz of remove() : [4, 10, 6, 16, 20, 12, 14, 3050, 18]
    
    Size of PriorityQueue : 9
    Array from PriorityQueue : 4 10 6 16 20 12 14 3050 18 
    
    Array from PriorityQueue of size 5 : 4 10 6 16 20 12 14 3050 18 
    
    PriorityQueue after clear() : []

This article is contributed by Mohit Gupta_OMG 🙂. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *