import java.util.HashMap; import java.util.Set; public class MapsCollection { private final HashMap> _mapsStorage; private final int _pictureWidth; private final int _pictureHeight; public Set getKeys() { return _mapsStorage.keySet(); } public MapsCollection(int pictureWidth, int pictureHeight) { _mapsStorage = new HashMap<>(); _pictureWidth = pictureWidth; _pictureHeight = pictureHeight; } public void addMap(String name, AbstractMap map) { if (!_mapsStorage.containsKey(name)) { _mapsStorage.put(name, new MapWithSetArtilleriesGeneric<>(_pictureWidth, _pictureHeight, map)); } } public void deleteMap(String name) { _mapsStorage.remove(name); } public MapWithSetArtilleriesGeneric getMap(String name) { return _mapsStorage.getOrDefault(name, null); } public IDrawingObject getArtillery(String mapName, int index) { var map = _mapsStorage.getOrDefault(mapName, null); if (map != null) { return map._setArtilleries.get(index); } return null; } }