您的位置:首页 > 编程语言 > Java开发

Java编程思想-11章 练习28· 练习29

2013-05-21 08:00 246 查看
练习28:



import java.util.*;

/*
*
Author Zvall
*
*/

public class PriorityTes {

public static void PrintQ(PriorityQueue<? > pqueue) {

while(pqueue.peek()!=null) {
System.out.println(pqueue.poll());
}
}
public static void main(String[] args) {
PriorityQueue<Double> priouedou = new PriorityQueue<Double>();
Random rand = new Random();
for(int i = 0; i<100; i++) {
priouedou.offer(rand.nextDouble());
}
PrintQ(priouedou);

}
}


练习29:



import java.util.*;
/*
Author Zvall

*/

public class nullMethodNotvar {
public static void main(String[] args) {

PriorityQueue<extobj> prqueobj = new PriorityQueue<extobj>();
prqueobj.offer(new extobj());
prqueobj.offer(new extobj());
}

static class extobj extends Object{}
}


run result:



 java.lang.ClassCastException为强制类型转换异常

public class PriorityQueue<E>extends AbstractQueue<E>implements Serializable一个基于优先级堆的无界优先级队列。

优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。

优先级队列不允许使用 null 元素。

依靠自然顺序的优先级队列还不允许插入不可比较的对象(这样做可能导致 ClassCastException)。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: