import java.util.ArrayList; import java.util.HashMap; public class MapsCollection { /// Словарь (хранилище) с картами final HashMap> _mapStorages; /// Возвращение списка названий карт public ArrayList keys() { return new ArrayList(_mapStorages.keySet()); } /// Ширина окна отрисовки private final int _pictureWidth; /// Высота окна отрисовки private final int _pictureHeight; /// Конструктор public MapsCollection(int pictureWidth, int pictureHeight) { _mapStorages = new HashMap>(); _pictureWidth = pictureWidth; _pictureHeight = pictureHeight; } /// Добавление карты public void AddMap(String name, AbstractMap map) { // Логика для добавления if (!_mapStorages.containsKey(name)) _mapStorages.put(name, new MapWithSetLocomotivesGeneric(_pictureWidth, _pictureHeight, map)); } /// Удаление карты public void DelMap(String name) { // Логика для удаления if (_mapStorages.containsKey(name)) _mapStorages.remove(name); } /// Доступ к парковке public MapWithSetLocomotivesGeneric Get(String ind) { // Логика получения объекта if (_mapStorages.containsKey(ind)) return _mapStorages.get(ind); return null; } // Доп.индексатор из задания public DrawningObjectLocomotive Get (String name, int position) { if (_mapStorages.containsKey(name)) return _mapStorages.get(name)._setLocomotives.Get(position); else return null; } }