5. Розробка власних контейнерів. Ітератори∗
Мета∗
- Набуття навичок розробки власних контейнерів.
- Використання ітераторів.
Вимоги∗
-
Розробити клас-контейнер, що ітерується для збереження початкових даних завдання л.р. №3 у вигляді масиву рядків з можливістю додавання, видалення і зміни елементів.
-
В контейнері реалізувати та продемонструвати наступні методи:
String toString()повертає вміст контейнера у вигляді рядка;void add(String string)додає вказаний елемент до кінця контейнеру;void clear()видаляє всі елементи з контейнеру;boolean remove(String string)видаляє перший випадок вказаного елемента з контейнера;Object[] toArray()повертає масив, що містить всі елементи у контейнері;int size()повертає кількість елементів у контейнері;boolean contains(String string)повертаєtrue, якщо контейнер містить вказаний елемент;boolean containsAll(Container container)повертаєtrue, якщо контейнер містить всі елементи з зазначеного у параметрах;public Iterator<String> iterator()повертає ітератор відповідно до Interface Iterable.
-
В класі ітератора відповідно до Interface Iterator реалізувати методи:
public boolean hasNext();public String next();public void remove().
-
Продемонструвати роботу ітератора за допомогою циклів while и for each.
-
Забороняється використання контейнерів (колекцій) і алгоритмів з Java Collections Framework.