0
우선 순위 큐가 처음입니다. 구현하려고하는 알고리즘에서 저장 노드의 functionValue에 따라 우선 순위 큐를 정렬하려고합니다. 우선 순위 큐가 내 노드 객체의 다른 8 개의 인스턴스 변수 중 하나와 반대되는 값으로 노드를 정렬하는 방법을 알지 못합니다. 필자는 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.
.
.
.
죄송합니다.이 인터페이스 아이디어는 저에게 새로운 것입니다. 나는 아주 원시적 인 배경에서 왔다고 생각한다. 도와 줘서 고마워! – Gthoma2
걱정할 필요가 없습니다. 함수 포인터가있는 배경에서오고 있다면 함수 포인터가 다른 언어로 된 같은 위치에서 Java에서 인터페이스가 자주 사용된다는 것을 아는 것이 유용 할 수 있습니다. 예를 들어, 비교기는 [qsort] (http://pubs.opengroup.org/onlinepubs/009695399/functions/qsort.html)의'compar' 인수와 정확히 똑같이 사용되고 있습니다. Java 8에는 특정 인터페이스를 함수 포인터와 거의 똑같이 동작하도록 만드는 새로운 마법이 포함됩니다. –