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.