docs: add task specifications for project components
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Техническое задание: кастомный контейнер List
|
||||
|
||||
## Задача
|
||||
|
||||
Реализовать собственный контейнер для хранения объектов, не используя готовые реализации `List`, `ArrayList` и `LinkedList`.
|
||||
|
||||
## Требования
|
||||
|
||||
1. Создать интерфейс `MyList<T>`.
|
||||
|
||||
2. В интерфейсе определить основные операции:
|
||||
|
||||
- `add(...)`;
|
||||
- `get(...)`;
|
||||
- `set(...)`;
|
||||
- `remove(...)`;
|
||||
- `size()`;
|
||||
- `isEmpty()`.
|
||||
|
||||
3. Создать класс `MyLinkedList<T>`, реализующий `MyList<T>`.
|
||||
|
||||
4. Реализовать контейнер на основе собственных узлов `Node<T>`.
|
||||
|
||||
5. Контейнер должен поддерживать:
|
||||
|
||||
- добавление элемента;
|
||||
- получение элемента по индексу;
|
||||
- замену элемента по индексу;
|
||||
- удаление элемента по индексу;
|
||||
- получение количества элементов;
|
||||
- проверку на пустоту.
|
||||
|
||||
6. Обработать некорректные индексы с помощью исключений.
|
||||
|
||||
7. Контейнер не должен зависеть от класса `Student`, сортировки или пользовательского интерфейса.
|
||||
|
||||
## Результат
|
||||
|
||||
Должны быть реализованы:
|
||||
|
||||
```text
|
||||
MyList.java
|
||||
MyLinkedList.java
|
||||
```
|
||||
Reference in New Issue
Block a user