import java.util.ArrayList; import java.util.Iterator; public class SetPlanesGeneric implements Iterable { //массив объектов, которые храним private ArrayList _places; //максимальное кол-во элементов в списке private final int _maxCount; //количество объектов в массиве public int Count() { return _places.size(); } //конструктор public SetPlanesGeneric(int count) { _maxCount = count; _places = new ArrayList<>(); } //добавление объекта в набор public int Insert(T plane) { return Insert(plane, 0); } //добавление объекта в набор на конкретную позицию public int Insert(T plane, int position) { //проверка на корректность значения индекса if (position >= _maxCount|| position < 0) { return -1; } _places.add(plane); return position; } //удаление объекта из набора с конкретной позиции public T Remove(int position) { // проверка позиции if (position >= _maxCount || position < 0) { return null; } // удаление объекта из массива, присовив элементу массива значение null T temp = _places.get(position); _places.remove(position); return temp; } //получение объекта из набора по позиции public T Get(int position) { if (position >= _maxCount || position < 0) { return null; } return _places.get(position); } public void Set(int position, T value) { if(position >= _maxCount || position < 0) { return; } Insert(value, position); } @Override public Iterator iterator() { return _places.iterator(); } }