所以我是优先级队列的新手。在我尝试实现的算法中,我想根据存储节点的 functionValue 对优先级队列进行排序。我不明白优先级队列如何知道按该值对节点进行排序,而不是我的节点对象的其他八个实例变量之一。我很确定我定义了一个 Comparator 对象来定义比较/排序规则,但我无法为 Comparator 制作 Oracle 类库的正面或反面。
这是我的节点类的属性
public class Node{
public char label; //Holds char for the Move used; U, D, L, R
public boolean visited = false;
public State nodeState; //Each node holds a State object
int depth;
int heuristicCount;
int functionCount; <--- This is the property I want the priority queue to sort by.
.
.
.