java优先队列
来源:互联网 发布:2017年淘宝双11销售额 编辑:程序博客网 时间:2024/06/11 04:03
优先级队列是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素。
PriorityQueue是从JDK1.5开始提供的新的数据结构接口。
如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列。
方法摘要 booleanadd(E e)
将指定的元素插入此优先级队列。voidclear()
从此优先级队列中移除所有元素。Comparator<? super E>comparator()
返回用来对此队列中的元素进行排序的比较器;如果此队列根据其元素的自然顺序进行排序,则返回 null。booleancontains(Object o)
如果此队列包含指定的元素,则返回 true。Iterator<E>iterator()
返回在此队列中的元素上进行迭代的迭代器。booleanofer(E e)
将指定的元素插入此优先级队列。Epeek()
获取但不移除此队列的头;如果此队列为空,则返回 null。Epoll()
获取并移除此队列的头,如果此队列为空,则返回 null。booleanremove(Object o)
从此队列中移除指定元素的单个实例(如果存在)。intsize()
返回此 collection 中的元素数。Object[]toArray()
返回一个包含此队列所有元素的数组。<T> T[]toArray(T[] a)
返回一个包含此队列所有元素的数组;返回数组的运行时类型是指定数组的类型。
PriorityQueue是从JDK1.5开始提供的新的数据结构接口。
如果不提供Comparator的话,优先队列中元素默认按自然顺序排列,也就是数字默认是小的在队列头,字符串则按字典序排列。
将指定的元素插入此优先级队列。voidclear()
从此优先级队列中移除所有元素。Comparator<? super E>comparator()
返回用来对此队列中的元素进行排序的比较器;如果此队列根据其元素的自然顺序进行排序,则返回 null。booleancontains(Object o)
如果此队列包含指定的元素,则返回 true。Iterator<E>iterator()
返回在此队列中的元素上进行迭代的迭代器。booleanofer(E e)
将指定的元素插入此优先级队列。Epeek()
获取但不移除此队列的头;如果此队列为空,则返回 null。Epoll()
获取并移除此队列的头,如果此队列为空,则返回 null。booleanremove(Object o)
从此队列中移除指定元素的单个实例(如果存在)。intsize()
返回此 collection 中的元素数。Object[]toArray()
返回一个包含此队列所有元素的数组。<T> T[]toArray(T[] a)
返回一个包含此队列所有元素的数组;返回数组的运行时类型是指定数组的类型。
import java.io.*;import java.util.*;class Point{ int x; int y; public Point( int x, int y ){ this.x = x; this.y = y; } public void print(){ System.out.println( "" + x + " " + y ); }}public class Main{ public static void main( String [] args )throws Exception{ Scanner cin = new Scanner( System.in ); int n = cin.nextInt(); PriorityQueue queue = new PriorityQueue( 1, new Comparator(){ public int compare( Point a, Point b ){ if( a.x < b.x || a.x == b.x && a.y < b.y ){ return -1; } else if( a.x == b.x && a.y == b.y ){ return 0; } else{ return 1; } } }); for( int i = 0; i < n; i++ ){ int x = cin.nextInt(); int y = cin.nextInt(); Point p = new Point( x, y ); queue.add( p ); } while( queue.size() > 0 ){ Point p = ( Point )queue.poll(); p.print(); } }}
- JAVA队列之优先队列
- JAVA队列之优先队列
- java优先队列
- java PriorityQueue优先队列
- java优先队列 PriorityQueue
- [java]优先队列
- 【Java】优先队列PriorityQueue
- Java优先队列
- JAVA优先队列
- 优先队列 java PriorityQueue
- Java数据结构----优先队列
- (java)优先队列
- Java 优先队列
- Java中的优先队列
- java优先队列
- 优先队列java-PriorityQueue
- Java优先队列初识
- java API------PriorityQueue优先队列
- CCLayer 在 init 中调用 schedual 方法后引用计数混乱的问题
- 黑马程序员_Java基础_面向对象(异常2、练习题、导包)
- Linux下socket编程
- 对话框(3)之调用Windows函数调色板
- mini6410编译tslib
- java优先队列
- Web App或夭折,Hybrid App才是新世界的王
- TCP协议的一些要点知识
- 常见网络营销方法总结
- Android setTheme无效的问题 (轉自:http://endf.javaeye.com/blog/771685)
- spring.net config/file/assembly 配置说明
- 代码块
- 终于遇到使用索引更慢的例子了
- Square (P2362)