GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing www.tutorialspoint.com — Java PriorityQueue comparator() Method
Selected Reading
Java PriorityQueue comparator() MethodDescriptionThe Java PriorityQueue comparator() method returns the comparator used to order the elements in this queue. DeclarationFollowing is the declaration for java.util.PriorityQueue.comparator() method. public Comparator<? super E> comparator() ParametersNA Return Value
ExceptionNA Using a Custom Comparator in PriorityQueue of Ints ExampleThe following example shows the usage of Java PriorityQueue comparator() method to get a relevant comparator. We're adding couple of Integers to the PriorityQueue object using add() method calls per element and then print each element to show the elements added and the comparator used. package com.tutorialspoint;
import java.util.Comparator;
import java.util.PriorityQueue;
public class PriorityQueueDemo {
public static void main(String[] args) {
// create an empty priority queue with an initial capacity
PriorityQueue<Integer> queue = new PriorityQueue<>(5, new IntComparator());
// use add() method to add elements in the queue
queue.add(20);
queue.add(30);
queue.add(20);
queue.add(30);
queue.add(15);
queue.add(22);
queue.add(11);
// let us print all the elements available in queue
for (Integer number : queue) {
System.out.println("Number = " + number);
}
System.out.println("Comparator = " + queue.comparator());
}
}
class IntComparator implements Comparator<Integer>{
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
}
OutputLet us compile and run the above program, this will produce the following result − Number = 11 Number = 20 Number = 15 Number = 30 Number = 30 Number = 22 Number = 20 Comparator = com.tutorialspoint.IntComparator@5315b42e Using a Custom Comparator in PriorityQueue of Strings ExampleThe following example shows the usage of Java PriorityQueue comparator() method to get a relevant comparator. We're adding couple of Strings to the PriorityQueue object using add() method calls per element and then print each element to show the elements added and the comparator used. package com.tutorialspoint;
import java.util.Comparator;
import java.util.PriorityQueue;
public class PriorityQueueDemo {
public static void main(String[] args) {
// create an empty priority queue
PriorityQueue<String> queue = new PriorityQueue<>(new StringComparator());
// use add() method to add elements in the queue
queue.add("Welcome");
queue.add("To");
queue.add("Tutorialspoint");
System.out.println("PriorityQueue = " + queue);
System.out.println("Comparator = " + queue.comparator());
}
}
class StringComparator implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
}
OutputLet us compile and run the above program, this will produce the following result − PriorityQueue = [To, Welcome, Tutorialspoint] Comparator = com.tutorialspoint.StringComparator@5315b42e Using a Custom Comparator in PriorityQueue of Objects ExampleThe following example shows the usage of Java PriorityQueue comparator() method to get a relevant comparator. We're adding couple of Student objects to the PriorityQueue object using add() method calls per element and then print each element to show the elements added and the comparator used. package com.tutorialspoint;
import java.util.Comparator;
import java.util.PriorityQueue;
public class PriorityQueueDemo {
public static void main(String[] args) {
// create an empty priority queue
PriorityQueue<Student> queue = new PriorityQueue<>(new RollNoComparator());
// use add() method to add elements in the queue
queue.add(new Student(1, "Julie"));
queue.add(new Student(2, "Robert"));
queue.add(new Student(3, "Adam"));
System.out.println("PriorityQueue = " + queue);
System.out.println("Comparator = " + queue.comparator());
}
}
class Student {
int rollNo;
String name;
Student(int rollNo, String name){
this.rollNo = rollNo;
this.name = name;
}
@Override
public String toString() {
return "[ " + this.rollNo + ", " + this.name + " ]";
}
@Override
public boolean equals(Object obj) {
Student s = (Student)obj;
return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
}
}
class RollNoComparator implements Comparator<Student>{
@Override
public int compare(Student o1, Student o2) {
return o1.rollNo - o2.rollNo;
}
}
OutputLet us compile and run the above program, this will produce the following result − PriorityQueue = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]] Comparator = com.tutorialspoint.RollNoComparator@2ef9b8bc java_util_priorityqueue.htm
Advertisements
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |