Skip to content

Best-Turner/aston-arraylist-implementation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Дз коллекции

Необходимо написать свою реализацию коллекции на выбор LinkedList или ArrayList(можно оба варианта).

  1. Реализовать свой ArrayList (не потокобезопасный) Методы - добавить элемент, добавить элемент по индексу(не заменить), получить элемент, удалить элемент, очистить всю коллекцию, отсортировать, заменить элемент по индексу, остальное по желанию.
  2. Реализовать алгоритм quicksort для реализованной вами реализации ArrayList. Использовать: ○ Java generics ○ Comparable, Comparator. Не должно быть ограничение на Comparable класс в ArrayList. Сортировка может быть встроенной в ваш ArrayList или быть внешним классом.
  3. Документировать код. Что, зачем и как. Все классы и интерфейсы должны быть задокументированы на уровне класса (class-level javadoc) Все публичные методы ваших реализаций должны содержать javadoc. Документация должна быть в полном объёме и представлять исчерпывающее и интуитивно понятное руководство пользования вашим кодом для другого разработчика.
  4. Все части кода должны быть покрыты Unit тестами(Использовать Junit или другую библиотеку). Провести проверки с помощью циклов.
  5. Использовать maven для добавления junit
  6. .idea не должно быть в репозитории
  7. Плюс написать реализацию сортировки пузырьком с флагом, который прекращает сортировку, если коллекция уже отсортирована.

Задание с *: На тему дженериков.

  • Для этих коллекций сделать конструктор который будет принимать другую коллекцию в качестве параметров и инициализироваться с элементами из этой коллекции.
  • Вторая часть - сделать метод сортировки статическим, этот метод также будет принимать какую-то коллекцию и сортировать ее. (Аналогия Collections.sort()). Т.е подумать на тему какое ключевое слово(extends или super) будет лучше применить для этих двух задач.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages