次のデータを格納するために2つのConcurrentHashMapsを使用しています。2つのハッシュマップを置き換えるためのカスタムデータ構造の実装
:、私はPlayer
または
League
オブジェクトのいずれかを取得することができ、いくつかの操作を検討する
ケースを実行する必要が私はちょうどFootballTeam
オブジェクトを考える
private Map<Player, FootballTeam> playerTeamMapping;
private Map<FootballTeam, League> teamLeagueMapping;
例として、以下を使用します
が
FootballTeam
に関連付けられPlayer
年代はありませんが、FootballTeam
エントリはを削除存在している場合エントリーteamLeagueMapping
。Player
(S)が彼らのFootballTeam
は変わりますが、FootballTeam
エントリは、その後、他のプレイヤーは、私がこれまでFootballTeam
を参照されていない場合にのみ、
teamLeagueMapping
からFootballTeam
エントリを削除存在している場合上記の両方のマップを使用していますが、学習目的のために、私はこの問題を解決するために私自身のデータ構造を定義する必要があると言われました。
私は、2つのマップ(Left = Player, Middle = FootballTeam, Right = League)
に裏付けられた汎用クラスThreeWayHashMap<Left, Middle, Right>
の作成を考えています。これは取るべき最善のアプローチですか?基本的に3つのマップを同期させておくと、エントリを削除するときに削除するときに必要になります(両方でこれらの操作を確実に実行する必要があります)。
使用してください。 A.データベース。 –
ジェネリッククラスを作成したいのはなぜですか?これはあなたのユースケースの一般的な問題ですか?それ以外の場合は、これらの概念を自分のクラスの中に入れることもできます。一般的な実装は読めなくなり、将来は簡単に変更できなくなります。 – kamalkishor1991
@BoristheSpiderもし私ができることがあれば、これはデータベースなしで問題を実装する学習練習です。 – unleashed