i got this question from the
SCJP 5 book. can some one please explain to me why the value 10 has been put in the line of the code which i have commmented out below. and how does the comapre method check the Integers to determine that they must go in reverse order? i just do not understand the logic behind the compare method. please help
import java.util.*;
class pq {
static class pqsort implements Comparator<Integer>{
public int compare(Integer one, Integer two){
return two - one;
}
}
public static void main(
String ar[]){
int []ia = {1,5,3,7,6,9,8};
PriorityQueue<Integer> pq1 = new PriorityQueue<Integer>();
for(int x:ia)
pq1.offer(x);
for(int x: ia)
System.out.print(pq1.poll()+" ");
System.out.println("");
pqsort pqs = new pqsort();
//PriorityQueue<Integer> pq2 = new PriorityQueue<Integer>(10,pqs);
for(int x: ia)
pq2.offer(x);
System.out.println("size"+ pq2.size());
System.out.println("peek "+ pq2.peek());
System.out.println("size "+pq2.size());
System.out.println("poll "+pq2.poll());
System.out.println("size "+pq2.size());
for(int x: ia)
System.out.println(pq2.poll());
}
}
thank you
Dinuka Arseculeratn