Skip to main content

02. Списки

Если коллекция упорядочена, то она называется списком. У каждого элемента списка есть порядковый номер (индекс).

Главное отличие списка от коллекции - возможность получать значения элементов по их индексу.

Задание

Трудоёмкость

Это задание рассчитано на два урока, за него будет выставлено две оценки

Расширьте класс MyCollection из предыдущего задания так, чтобы он стал списком:

Использовать встроенные коллекции java запрещается

  1. boolean set(int i, int v) - заменяет значение элемента с индексом i на v. Если элемента с таким индексом ещё нет, возвращает false, в остальных случаях true
  2. int get(int i) - возвращает значение элемента с индексом i. Если элемента с таким индексом ещё нет, возвращает Integer.MAX_VALUE
  3. boolean insert(int i, int v) - добавляет элемент v по индексу i, перед тем, как добавить новый элемент, все, начиная с i-го сдвигаются на 11 вправо, освобождая i-ю позицию под новый элемент. Если элемента с таким индексом ещё нет, возвращает false, массив изменять не нужно, в остальных случаях true
  4. int indexOf(int v) - возвращает индекс первого элемента, равного переданному в аргументах значению. Если такого элемента нет, то метод должен вернуть значение -1
  5. int lastIndexOf(int v) - возвращает индекс последнего элемента, равного переданному в аргументах значению. Если такого элемента нет, то метод должен вернуть значение -1
  6. boolean removeAll(int v) - удаляет из списка все элементы, равные заданному. Если получилось удалить хотя бы один элемент, то возвращает true, в противном случае - false
  7. boolean removeAll(MyCollection myCollection) - удаляет из списка все элементы, равные каждому из элементов коллекции, переданной в аргументах. Если получилось удалить хотя бы один элемент, то возвращает true, в противном случае - false
  8. boolean insertAll(int i, MyCollection myCollection) - по аналогии с insert(int v) вставляет все элементы списка, переданного в аргументах, сдвигая вправо соответствующее количество раз все элементы, начиная с i-го
  9. void sort() - сортировка списка по возрастанию

Ссылка на контест