03. Динамический массив
Списки могут быть реализованы не только на массивах. В предыдущих главах была
рассмотрена базовая логика списков с помощью массива, однако
в java списки могут быть реализованы не только на массивах
и по сути представляют собой только интерфейсы.
В java список на массиве называется ArrayList - динамический массив. Все реализации методов,
написанных в предыдущих главах, на самом деле, написаны в нём.
Для упрощения обучения они были разбиты на три этапа. Этот этап - последний, в нём осталась самая нетривиальная часть поведения логики динамических массивов.
Каждый раз при необходимости массив следует увеличивать в полтора раза
Задание
Это задание рассчитано на один урок, за него будет выставлена одна оценка
Расширьте класс MyCollection из предыдущего задания так, чтобы он стал
динамическим массивом:
Использовать встроенные коллекции java запрещается
void removeRange(int fromIndex, int toIndex)- удалить значения из динамического массива с индексами отfromIndexвключительно доtoIndexвключительноboolean retainAll(MyCollection myCollection)- оставить в динамическом массиве только те элементы, которые есть в переданной в аргументах, возвращаетtrue, если коллекция была изменена иfalse- если нетboolean replaceAll(int source, int target)- заменить все значения, равныеsource, наtarget, возвращаетtrue, если коллекция была изменена иfalse- если нетMyCollection subList(int fromIndex, int toIndex)- получить новый динамический массив, составленный из элементов с индексами отfromIndexвключительно доtoIndex- исключительно с сохранением порядка следования. Если интервал вырожденный, то требуется вернуть новую пустую коллекцию
Все поля и методы должны иметь модификатор public