JAVA では、"Player" オブジェクトをキーとして、"ArrayList" を値として持つ HashMap があります。各プレイヤーの対戦相手を保存するために使用されます。ハッシュマップを指す変数は playerOpponents と呼ばれます。
今、あるプレイヤーに対戦相手を追加したいと思います。方法 1 のように編集後にリストをマップに入れる必要があるのか、方法 2 のように必要でないのか。
方法1:
private void addOpponent(Player p, Player opponent)
{
ArrayList<Player> allOpponents = playerOpponents.get(p);
allOpponents.add(opponent);
playerOpponents.put(p,allOpponents);
}
方法 2:
private void addOpponent(Player p, Player opponent)
{
ArrayList<Player> allOpponents = playerOpponents.get(p);
allOpponents.add(opponent);
}