現在のプロジェクトでは、Javaで次のデータ構造を実装しました。
Map<List<String>, Set<Subscriber>> regionSubscriber
= new Hashtable<List<String>, Set<Subscriber>>();
上記のデータ構造に対して以下の操作を実装したいと思います。
1)キーがこのマップに存在するかどうかを確認します(と同様containsKey(Key)
)。2)キーリスト付きのセットを取得します(と同様get(key)
)。
containskey(Key)
とのようなMapのデフォルト機能を試してみましget(Key)
た。ただし、ここではキーがリスト(単一のオブジェクトではない)であるため、これらは機能していません。
運用の実施について教えてください。わかりやすくするために詳細が必要な場合はお知らせください。
更新:次のequals()関数とhashCode()関数を作成しました。これらの機能をご確認ください。彼らは働いていません。これらの機能の修正。
public boolean equals(Object obj){
boolean booleanFlag = false;
List<String> regionID = (List<String>) obj;
for(int i=0; i< regionID.size() ; i++) {
if ( regionID.get(i).equals(this.regionIDs.get(i)) ){
booleanFlag = true;
} else {
booleanFlag = false;
}
}
return booleanFlag;
}
@Override
public int hashCode() {
int hashValue = 0;
for(int i=0; i< regionIDs.size(); i++) {
hashValue = hashValue + regionIDs.get(i).hashCode();
}
return hashValue;
}