Рубрики

Java.util.PriorityQueue класс в Java

Это приоритетная очередь, основанная на куче приоритетов.

  • Элементы в этом классе находятся в естественном порядке или зависят от Конструктора, который мы использовали во время создания.
  • Это не разрешает нулевые указатели.
  • Он не позволяет вставлять несопоставимый объект, если он основан на естественном упорядочении.

Конструкторы:

  • PriorityQueue (): создает PriorityQueue с начальной емкостью по умолчанию (11), которая упорядочивает свои элементы в соответствии с их естественным упорядочением.
  • PriorityQueue (Коллекция расширяет E> c): Создает PriorityQueue, содержащий элементы в указанной коллекции.
  • PriorityQueue (int initialCapacity) : создает PriorityQueue с указанной начальной емкостью, который упорядочивает свои элементы в соответствии с их естественным упорядочением.
  • PriorityQueue (int initialCapacity, Comparator super E> компаратор): создает PriorityQueue с указанной начальной емкостью, который упорядочивает свои элементы в соответствии с указанным компаратором.
  • PriorityQueue (PriorityQueue расширяет E> c) : создает PriorityQueue, содержащий элементы в указанной очереди приоритетов.
  • PriorityQueue (SortedSet расширяет E> c) : создает PriorityQueue, содержащую элементы в указанном отсортированном наборе.

Декларация:

public class PriorityQueue
   extends AbstractQueue
   implements Serializable

Методы:

  1. add (element): java.util.PriorityQueue.add () вставляет элементы в приоритетную очередь.
    Синтаксис:
    public boolean add(E e)
    Parameters  :
    element : the element we need to add.
    Return  :
    call return true.
    Exception : 
    -&gt ClassCastException 
    -&gt NullPointerException
    
  2. comptor (): java.util.PriorityQueue.comparator () упорядочивает элементы в очереди.
    Синтаксис:
    public Comparator comparator()
    Parameters  :
    -------
    Return  :
    orders the queue or return null, if it is naturally ordered 
    Exception : 
    ----------
    
  3. Содержит (Object obj): java.util.PriorityQueue.contains (obj) возвращает true, если очередь с приоритетами содержит элемент «obj».
    Синтаксис:
    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 () выполняет итерации по элементу очереди.
    Синтаксис:
    public Iterator iterator()
    Parameters  :
    -------
    Return  :
    calls iterator over the elements in the queue.
    Exception : 
    --------
    
  5. offer (element): java.util.PriorityQueue.offer () требуется для вставки определенного элемента в заданную приоритетную очередь.
    Синтаксис:
    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 () идентифицирует элемент head очереди.
    Синтаксис:
    public E peek()    
    Parameters  :
    -------
    Return  :
    calls if head exists, else null
    Exception : 
    ------
    
  7. poll (): java.util.PriorityQueue.poll () идентифицирует голову и затем удаляет ее.
    Синтаксис:
    public E poll()    
    Parameters  :
    ---
    Return  :
    calls if head exists, else null
    Exception : 
    ------
    
  8. remove (Object obj): java.util.PriorityQueue.remove () удаляет определенный объект из очереди.
    Синтаксис:
    public boolean remove(Object obj)
    Parameters  :
    obj : object to be removed
    Return  :
    true - if obj is removed
    Exception : 
    ------
    
  9. size (): java.util.PriorityQueue.size () возвращает размер элементов в очереди приоритетов.
    Синтаксис:
    public int size()
    Parameters  :
    ----
    Return  :
    no. of elements
    Exception : 
    ---------
    
  10. toArray (): java.util.PriorityQueue.toArray () возвращает массив, содержащий элементы PriorityQueue.
    Синтаксис:
    public Object[] toArray()
    Parameters  :
    ------
    Return  :
    returns an array containing all the elements of PriorityQueue.
    Exception : 
    --------
    
  11. toArray (массив T []): java.util.PriorityQueue.toArray (T [] a) возвращает массив, содержащий элементы очереди приоритетов.
    Синтаксис:
    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 () очищает все элементы PriorityQueue.
    Синтаксис:
    public void clear()        
    Parameters  :
    ---
    Return  :
    ------
    Exception : 
    ------
    
  13. // Java-программа, иллюстрирующая методы
    // класса java.utl.priorityQueue

      
    // добавить (), компаратор (), conatins (), итератор (), предложение ()
    // peek (), poll (), toArray (), size (), toArray (t [] g1),
    // удалить (), очистить ()

      

    import java.util.*;

    public class NewClass

    {

        public static void main(String[] args)

        {

            // Создание очереди приоритетов:

            PriorityQueue <Integer> geek = new PriorityQueue <Integer> ();

      

            for(int i=2; i<=20; i=i+2)

            {

                // Использование add ():

                geek.add(new Integer (i));

            }

      

            System.out.println("geek PriorityQueue : " + geek);

      

            // Использование компаратора ()

            // Здесь не требуется упорядочение, поскольку оно упорядочено естественным образом.

            Comparator geek_comp = geek.comparator();

            System.out.println("geek PriorityQueue : " + geek_comp);

      

            // Использование содержит ()

            boolean check = geek.contains(6);

            System.out.println("Use of contains() : " + check);

      

            // Использование итератора ()

            Iterator g_iterator = geek.iterator();

      

            System.out.print("Iterator values : ");

            while(g_iterator.hasNext())

            {

                System.out.print(g_iterator.next() + " ");

            }

            System.out.println("");

      

            // Использование offer ()

            geek.offer(3050);

            System.out.println("geek PriorityQueue : " + geek);

      

            // Использование peek ()

            System.out.println("Head of PriorityQueue via peek : " + geek.peek());

      

            // Использование poll ()

            int h = geek.poll();

            System.out.println("\nHead of PriorityQueue via poll : " + h);

            System.out.println("geek PriorityQueue bcz of poll() : " + geek);

      

            // Использование remove ()

            boolean r = geek.remove(8);

            System.out.println("\nCan remove : " + r);

            System.out.println("geek PriorityQueue bcz of remove() : " + geek);

      

            // использование size ()

            System.out.println("\nSize of PriorityQueue : " + geek.size());

      

            // Использование 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");

      

            // Использование 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");

      

            // Использование clear ()

            geek.clear();

            System.out.println("PriorityQueue after clear() : " + geek);

      

        }

    }

    Выход :

    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() : []

Эта статья предоставлена Mohit Gupta_OMG 🙂 . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Java.util.PriorityQueue класс в Java

0.00 (0%) 0 votes