Требования к ArrayList:
- Реализовать свой ArrayList (не потокобезопасный) Методы - добавить элемент, добавить элемент по индексу(не заменить), получить элемент, удалить элемент, очистить всю коллекцию, отсортировать, заменить элемент по индексу, остальное по желанию.
- Реализовать алгоритм quicksort для реализованной вами реализации ArrayList.
Использовать:
- Java generics
- Comparable, Comparator.
Не должно быть ограничение на Comparable класс в ArrayList. Сортировка может быть встроенной в ваш ArrayList или быть внешним классом.
- Документировать код. Что, зачем и как. Все классы и интерфейсы должны быть задокументированы на уровне класса (class-level javadoc) Все публичные методы ваших реализаций должны содержать javadoc. Документация должна быть в полном объёме и представлять исчерпывающее и интуитивно понятное руководство пользования вашим кодом для другого разработчика. Статья по javadoc (https://www.baeldung.com/javadoc)
- Все части кода должны быть покрыты Unit тестами(Использовать Junit или другую библиотеку). Провести проверки с помощью циклов.
- Использовать maven для добавления junit
- Задание сдается в личном сообщении в скайпе в виде ссылки на репозиторий с ArrayList в github
- .idea не должно быть в репозитории.