Skip to content

5. Розробка власних контейнерів. Ітератори


Мета

  • Набуття навичок розробки власних контейнерів.
  • Використання ітераторів.

Вимоги

  1. Розробити клас-контейнер, що ітерується для збереження початкових даних завдання л.р. №3 у вигляді масиву рядків з можливістю додавання, видалення і зміни елементів.

  2. В контейнері реалізувати та продемонструвати наступні методи:

    • 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.
  3. В класі ітератора відповідно до Interface Iterator реалізувати методи:

    • public boolean hasNext();
    • public String next();
    • public void remove().
  4. Продемонструвати роботу ітератора за допомогою циклів while и for each.

  5. Забороняється використання контейнерів (колекцій) і алгоритмів з Java Collections Framework.