02. Списки
Если коллекция упорядочена, то она называется списком. У каждого элемента списка есть порядковый номер (индекс).
Главное отличие списка от коллекции - возможность получать значения элементов по их индексу.
Задание
Трудоёмкость
Это задание рассчитано на два урока, за него будет выставлено две оценки
Расширьте класс MyCollection
из предыдущего задания
так, чтобы он стал списком:
Использовать встроенные коллекции java запрещается
boolean set(int i, int v)
- заменяет значение элемента с индексомi
наv
. Если элемента с таким индексом ещё нет, возвращаетfalse
, в остальных случаяхtrue
int get(int i)
- возвращает значение элемента с индексомi
. Если элемента с таким индексом ещё нет, возвращаетInteger.MAX_VALUE
boolean insert(int i, int v)
- добавляет элементv
по индексуi
, перед тем, как добавить новый элемент, все, начиная сi
-го сдвигаются на вправо, освобождаяi
-ю позицию под новый элемент. Если элемента с таким индексом ещё нет, возвращаетfalse
, массив изменять не нужно, в остальных случаяхtrue
int indexOf(int v)
- возвращает индекс первого элемента, равного переданному в аргументах значению. Если такого элемента нет, то метод должен вернуть значение-1
int lastIndexOf(int v)
- возвращает индекс последнего элемента, равного переданному в аргументах значению. Если такого элемента нет, то метод должен вернуть значение-1
boolean removeAll(int v)
- удаляет из списка все элементы, равные заданному. Если получилось удалить хотя бы один элемент, то возвращаетtrue
, в противном случае -false
boolean removeAll(MyCollection myCollection)
- удаляет из списка все элементы, равные каждому из элементов коллекции, переданной в аргументах. Если получилось удалить хотя бы один элемент, то возвращаетtrue
, в противном случае -false
boolean insertAll(int i, MyCollection myCollection)
- по аналогии сinsert(int v)
вставляет все элементы списка, переданного в аргументах, сдвигая вправо соответствующее количество раз все элементы, начиная сi
-гоvoid sort()
- сортировка списка по возрастанию