Java Reference
In-Depth Information
*/
public void addPlayer(Player toAdd) {
players.add(toAdd);
if (byName.containsKey(toAdd.getName())) {
byName.get(toAdd.getName()).add(toAdd);
} else {
HashSet<Player> newSet = new HashSet<Player>();
newSet.add(toAdd);
byName.put(toAdd.getName(), newSet);
}
byIds.put(toAdd.getId(), toAdd);
}
/**
* Remove a player from the team.
*/
public void removePlayer(Player toRemove) {
players.remove(toRemove);
byName.get(toRemove.getName()).remove(toRemove);
if (byName.get(toRemove.getName()).isEmpty()) {
byName.remove(toRemove.getName());
}
byIds.remove(toRemove.getId());
}
@Override
public Set<Player> getPlayer(String name) {
return byName.get(name);
}
@Override
public Player getPlayer(UUID playerId) {
return byIds.get(playerId);
}
}
Once again, the joy of the Java environment is that we needed to write very little code to add
this random access functionality to our Team objects. The collections classes that are already
part of the platform did most of the heavy lifting for us.
Search WWH ::




Custom Search