Page 42 - 4656
P. 42
Алгоритми і структури даних. Лабораторний практикум.
Спеціальний ітератор ListIterator - містить вдосконалений
ітератор ListIterator для обробки послідовних властивостей
списку.
ListIterator дозволяє вставляти і заміняти елементи і
виконувати перебір елементів в двох напрямках.
Queue - колекція, призначена для зберігання елементів в
порядку, потрібному для їх обробки. На додаток до базових
операцій інтерфейсу Collection, черга надає додаткові операції
вставки, отримання та контролю элементів.
Черги зазвичай, але не обов'язково, впорядковують
елементи в FIFO (first-in-first-out, "першим увійшов - першим
вийшов") порядку.
Метод offer() вставляє елемент в чергу, якщо це не вдалося
- повертає false. Цей метод відрізняється від методу add()
інтерфейсу Collection тим, що метод add() може невдало додати
елемент тільки з використанням unchecked винятку.
Методи remove() і poll() видаляють верхівку черги і
повертають її. Який елемент буде видалений (перший або
останній) залежить від реалізації черги. Методи remove() і poll()
відрізняються лише поведінкою, коли черга порожня: метод
remove() генерує виняток, а метод poll() повертає null.
Методи element() і peek() повертають (але не видаляють)
верхівку черги.
Інтерфейс ListIterator розширює інтерфейс Iterator,
забезпечуючи переміщення по колекції як у прямому, так і в
зворотному напрямку. Він може бути реалізований тільки в тих
колекціях, в яких є поняття наступного і попереднього елемента
і де елементи пронумеровані.
У інтерфейс ListIterator додані наступні методи:
void add (Object element) - додає елемент element перед
поточним елементом;
40