import java.util.PriorityQueue;
import java.util.Random;
/**
* 练习28: 用由java.util.Random创建的Double值填充一个PriorityQueue(用offer()方法),
* 然后使用poll()移除并显示它们
*/
public class Exercise28 {
public static void main(String[] args) {
Random random = new Random(47);
int size = random.nextInt(20);
PriorityQueue<Double> priorityQueue = new PriorityQueue<Double>();
for (int i = 0; i < size; i++) {
priorityQueue.offer(random.nextDouble());
}
System.out.println(priorityQueue);
while (priorityQueue.peek()!=null){
System.out.print(priorityQueue.remove()+" ");
}
}
}
/* Output:
首次打印出的顺序 与 取出的顺序 会有不同,在取出时候会按照优先级进行取(按照从小到大)
[0.053412216308810656, 0.15709275796406597, 0.11366817390196249, 0.19773740297508902, 0.2014333719323066, 0.249770191353475, 0.11435456649761422, 0.3998263557396152, 0.4170137422770571, 0.7373495886901945, 0.553731464302981, 0.9510573634708082, 0.3966187758324009, 0.5779976127815049, 0.8007215056508042, 0.5466897458391717, 0.44032876173820623, 0.744010731715666]
0.053412216308810656 0.11366817390196249 0.11435456649761422 0.15709275796406597 0.19773740297508902 0.2014333719323066 0.249770191353475 0.3966187758324009 0.3998263557396152 0.4170137422770571 0.44032876173820623 0.5466897458391717 0.553731464302981 0.5779976127815049 0.7373495886901945 0.744010731715666 0.8007215056508042 0.9510573634708082
*/