String をキーとして、対応する値を int として格納する HashMap オブジェクトを作成しました。ここで、優先度を割り当てるための参照として値を持つ HashMap オブジェクトに存在するすべての文字列を持つ優先度キューが必要です。私は次のコードを書きました
public class URIQueue {
private HashMap<String,Integer> CopyQURI;
private PriorityQueue<String> QURI;
public class TComparator<String> {
public int compareTo(String s1, String s2) {
if (CopyQURI.get(s2) - CopyQURI.get(s1) >= 0) {
return 1;
} else {
return 0;
}
}
}
public URIQueue() {
CopyQURI=new HashMap<>(100);
TComparator<String> tc=new TComparator<>();
QURI=new PriorityQueue<>(100, tc); //Line x
}
}
行 x は、優先度キューの型引数を推測できないというエラーを示しています。私が犯した間違いを教えてください。