これは、コストに基づいてノードをソートするために作成したコンパレータです。
public class MyCostComparator implements Comparator<Node>{
public int compare(Node a, Node b){
if(a.pathCost > b.pathCost)
return 1;
else
return -1;
}
}
私のマシン(Java 1.7)とUniのサーバー(Java 1.5)では動作が異なることがわかりました。しかし、私がそれを作るとき:
if(a.pathCost >= b.pathCost)
、1.5では正常に動作するようですが、1.7では逆に動作します。
また、値が等しいときにゼロを返さないことの欠点は何ですか?