【初心者】Java質問・相談スレッド74【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0256デフォルトの名無しさん
2005/10/31(月) 02:17:512つのキー k1 と k2 が同等であると見なすように要素を格納したいです。
比較は基本的にはフィールド変数のnumberで行います。
以下のようにグローバルIDを与えれば、できることは分かっています。
(gIDはグローバルIDです。各オブジェクトに対して固有のIDが与えられます)
できればグローバルIDといったものを使わずに実現したいのですが、
方法が分かりません。どのようにしたらよいのでしょうか?
class N implements Comparable {
int number;
int gID;
N(int number, int gID) {
this.number = number;
this.gID = gID;
}
public int compareTo(Object o) {
if (this == o)return 0;
N n = (N) o;
if (this.number < n.number)return -1;
if (this.number > n.number)return 1;
if (this.gID < n.gID)return -1;
if (this.gID > n.gID)return 1;
else return 0;//実際にはこの分岐まで到達することはない
}
public boolean equals(Object obj) {
if (this == obj)return true;
return false;
}
}
■ このスレッドは過去ログ倉庫に格納されています