爪哇。util。优先队列。comparator()方法共享设置和返回比较器的重要功能,该比较器可用于在 优先队列 。如果队列遵循元素的自然排序模式,则该方法返回空值。 语法:
null
comp_set = (PriorityQueue)Priority_Queue.comparator()
参数: 该方法不采用任何参数。 返回值: 该方法返回用于按特定顺序排列队列元素的比较器。如果队列遵循默认或自然排序模式,则返回空值。 下面的程序演示了java。util。优先队列。comparator()方法: 项目1: 当使用元素的自然顺序时:
JAVA
// Java code to illustrate comparator() import java.util.*; public class Priority_Queue_Demo { public static void main(String[] args) { // Creating an empty Priority_Queue PriorityQueue<Integer> queue = new PriorityQueue<Integer>(); // Adding elements to the queue queue.add( 20 ); queue.add( 24 ); queue.add( 30 ); queue.add( 35 ); queue.add( 45 ); queue.add( 50 ); System.out.println( "Priority queue values are: " + queue); // Creating a comparator Comparator comp = queue.comparator(); // Displaying the comparator values System.out.println( "Since the Comparator value is: " + comp); System.out.println( "it follows natural ordering" ); } } |
输出:
Priority queue values are: [20, 24, 30, 35, 45, 50]Since the Comparator value is: nullit follows natural ordering
项目2: 当使用特定的 比较器 .
JAVA
// Java code to illustrate the use of comparator() import java.util.Comparator; import java.util.PriorityQueue; class The_Comparator implements Comparator<String> { public int compare(String str1, String str2) { String first_Str; String second_Str; first_Str = str1; second_Str = str2; return second_Str.compareTo(first_Str); } } public class Priority_Queue_Demo { public static void main(String[] args) { PriorityQueue<String> queue = new PriorityQueue<String>( new The_Comparator()); queue.add( "G" ); queue.add( "E" ); queue.add( "E" ); queue.add( "K" ); queue.add( "S" ); queue.add( "4" ); System.out.println( "The elements with the highest priority element at front of queue" + "order:" ); while (!queue.isEmpty()){ System.out.print( " " +queue.poll()); } } } |
输出
The elements with the highest priority element at front of queueorder: S K G E E 4
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END