1

HeapPriorityQueue コンストラクターのコンパレーターを除いて、ヒープ優先度キュー クラスのすべての行にエラーはありません。修正方法がわからないので、エラーは発生しません。エラーのため、アルゴリズムが正しく機能しているかどうかも確認できません。誰か助けてくれませんか?

import java.util.ArrayList;
import java.util.Comparator;

public class HeapPriorityQueue<K extends Comparable<K>,V> implements PriorityQueue<K,V>     
{
    protected Comparator<K> comp;

    .
    .      //other lines of code
    .

    public HeapPriorityQueue() {
        heap = new ArrayList<Entry<K,V>>();
        heap.add(null);
        comp = new Comparator<K>();      //<-------- with error
    }

    .
    .      //other lines of code
    .

    comp.compare(oneKey,anotherKey);    //<---- using comp here

    .
    .      //other lines of code
    .

}
4

2 に答える 2

0

コンパイルエラーメッセージは自明だと思います。ライン

comp = new Comparator<K>();

はインターフェイスであるため、インターフェイスをインスタンス化しようとしてComparatorいます。コンパレータを実装する独自のクラスを作成するか、サードパーティのクラスのいずれかを使用するか、匿名の内部クラスを作成する必要があります。

于 2013-09-08T13:31:58.930 に答える