Core Java Tutorial

Introduction of Core Java

How To Install JDk and Set of Path

Syntax of java Program

Difference between Java and C/C++

Advantage and Disadvantage of Java

What is Java

Why Java is not Pure Object Oriented Language

Java has Following Features/Characteristics

Limitation of Java Language and Java Internet

Common Misconception about Java

Simple Program of Java

Integrated Development Environment in java

Compile and Run Java Program

Applet and Comments in Java

Tokens in Java

Keywords in Java

Identifier and Variables in Java

Literals/Constants

Data Type in Java

Assignments and Initialization in Java

Operators in Java

Rule of Precedence in Java

Operator on Integer and Separators in Java Programming

Java Control Flow of Statements

If and If-else Selection Statement

Nested If-else and If-else-If Selection Statement

switch case and conditional operator Selection Statement

for and while Loop

do..while and for each Loop

break and labeled break statement

continue and labeled continue statement

return Statement and exit() Method

Escape Sequence for Special Characters and Unicode Code

Constants and Block or Scope

Statement in Java

Conversions between Numeric Types in Java

Import Statement in Java

User Input in Java using Scanner Class

User Input in Java using Console Class

Array in Java

One Dimensional Array

Two Dimensional Array

Two Dimensional Array Program

Command Line Argument in Java

String args Types in Java

Uneven/Jagged array in java

Math Class Function and Constant

Math Class all Function used in a program

Enumerated Types in Java

Object Oriented Programming v/s Procedural Programming

Object Oriented Programming Concepts in Java

Introduction to Class,Object and Method in Java

Class Declaration in Java

Class & Objects in java

Encapsulation in Java

Modifiers/Visibility for a Class or Interrface or member of a Class

Polymorphism in Java

Runtime polymorphism (dynamic binding or method overriding)

how to sort the elements of a PriorityQueue using comparator in collections in java

how to sort the elements of a PriorityQueue using comparator in collections in java

Previous Home Next

 

In this example we shall see how to sort the elements of a PriorityQueue using comparator class.

For creating a PriorityQueue first of all we have to import the java.util package in which the java.util.PriorityQueue class is defined. In this example we have created a class named CollectionsExample in which we created an object of the PriorityQueue and added some elements to the queue.

 In this example we have implemented the compare(Object obj1, Object obj2) method of the comparator interface. In this example we have created an anonymous class in which we have defined our comparator which sorts the values of the queue in the descending order. For sorting the elements we have used the compareTo(Object obj1, Object obj2) of the comparable interface. This method returns a negative, zero or positive integer depensing on whether the first object is less than, equal to, or greater than the second.
We have also used the add(Object obj) method for adding the elements to the PriorityQueue.

In this example we have created a class named CollectionsExample in which we have created an object of the PriorityQueue pq , we have also created an anonymous class during its object intializaton and implemented the comparable interface's compareTo() method for sorting the values of the queue.
To the PriorityQueue, we have used the add(Object obj) method for adding the objects to the queue. Then, finally we have invoked the iterator() method on the object of the PriorityQueue pq and displayed its contents.

 
package r4r.co.in;
import java.util.*;

public class CollectionsExample {

/**
* @param args
*/
public static void main(String[] args) throws NullPointerException, ClassCastException
{
// TODO Auto-generated method stub
try
{

/* This code creates a PriorityQueue object by invoking constructor PriorityQueue(int capacity, Comparator obj)
* Also we have created an anonymous class which implements the comparable Interface and also its methods
*/
PriorityQueue<Integer> pq=new PriorityQueue<Integer>(12, new Comparator<Integer>()
{
public int compare(Integer num1, Integer num2)
{
Integer inum1, inum2;
inum1=num1;
inum2=num2;
if(inum1.compareTo(inum2)<1)
{
return 1;
}
else
{
return -1;
}
}
});
pq.add(3); // adding some random values to priorityqueue pq
pq.add(4);
pq.add(5);
pq.add(6);
pq.add(1);
Iterator<Integer> itr=pq.iterator(); //invoking the iterator over the pq
System.out.println("The elements in the priority queue are: ");
while(itr.hasNext())
{
System.out.println(itr.next()); // displaying the elements of the queue

}

}

catch(NullPointerException e)
{
e.printStackTrace();
}

catch(ClassCastException e)
{
e.printStackTrace();
}
}

}






The output of the above example is shown as:

The elements in the priority queue are:
6
5
4
3
1

Previous Home Next