プライオリティ キューに 2 つのものを保持したいと考えています... 1 つは数値で、もう 1 つはコストです。つまり、私は次のことをしたい:
PriorityQueue<Integer, Cost> q=new PriorityQueue<Integer, Cost>();
コストは私が持っている別のクラスです:
class Cost implements Comparable<Cost>
{
String name;
double cost;
@Override
public int compareTo(Cost s)
{
return Double.compare(cost, s.cost);
}
}
また、コストのみに基づいて比較を実行したい...しかし、コストとともに整数識別子を渡したい...これを達成する方法はありますか?
ID に基づいてコストを取得する必要があるため、ハッシュ マップを使用しています。コストで id フィールドを使用する場合...その id フィールドに基づいてコスト インスタンス全体を取得したい...それは可能ですか...はい、どうすればよいですか?
私はJavaプログラミングの初心者です。誰かが何らかの方法を提案できますか?