import java.util.ArrayList; 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 T Get(int position) { if (position >= _maxCount || position < 0) { return null; } return _places.get(position); } /// Проход по набору до первого пустого public Iterable GetLocomotives() { /*for (var locomotive : _places) { if (locomotive != null) { yield return locomotive; } else { yield break; } }*/ return _places; } }