Связный список

Задача

Задача: реализовать на основе односвязного списка контейнер myList, который бы позволял хранить произвольный тип данных.

Указания по выполнению

Лабораторная работа состоит из двух файлов:

  • MyList.java — описание класса list, прототипы методов, реализация методов
  • TestList.java — тестирование и проверка возможностей класса

Класс MyList должен содержать следующие поля:

  • ссылку на первый элемент списка
  • ссылку на последний элемент списка
  • число элементов в списке

Класс MyList должен содержать следующие методы:

  • конструктор
  • конструктор копирования
  • добавление элемента в начало списка, в конец списка
  • удаление элемента из начала списка
  • удаление элемента по значению
  • получение числа элементов в списке
  • очистка списка (удаление всех элементов)

При невозможности извлечения или удаления элемента должны генерироваться исключения.