import java.util.ArrayList; import java.util.Collections; public class SetLocomotivesGeneric { /// Список хранимых объектов private final ArrayList _places; public int Count() { return _places.size(); } // Ограничение на количество private final int _maxCount; public SetLocomotivesGeneric(int count) { _maxCount = count; _places = new ArrayList<>(); } public int Insert (T locomotive) { return Insert(locomotive, 0); } public int Insert (T locomotive, int position) { if (position >= _maxCount|| position < 0) return -1; _places.add(position, locomotive); return position; } public T Remove (int position) { if (position >= _maxCount || position < 0) return null; T result = _places.get(position); _places.remove(position); return result; } public void Clear() { _places.clear(); } public T Get(int position) { if (position >= _maxCount || position < 0) { return null; } return _places.get(position); } public Iterable GetLocomotives() { return _places; } public void ReversePlaces() { Collections.reverse(_places); } }