7. Heap
PriorityQueue
Comparator: 指定comparator物件告知如何排序,改寫compare
PriorityQueue heap = new PriorityQueue(k, new Comparator<String>()
public int compare(String s1, String s2){});Comparable:
public static class Star implements Comparable<Star>{
private double x, y, z;
Star(double x, double y, double z){
this.x = x;
this.y = y;
this.z = z;
}
public double distance(){
return Math.sqrt(x*x + y*y + z*z);
}
@Override
public int compareTo(Star rhs){
return Double.compare(this.distance(), rhs.distance());
// return Double.compare(rhs.distance(), this.distance()); // decreasing
}
}Python
Last updated