Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КПЗ_1.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
320 Кб
Скачать
☆

Iterator

boolean hasNext(); //возвращает true,если есть следующий // элемент

E next(); //возвращает следующий элемент

void remove(); //optional

10. Порівняння реалізацій інтерфейсу List

Интерфейс List

Расширяет Collection и объявляет поведение коллекции, хранящей последовательность элементов.

• Порядок, в котором хранятся элементы определяется порядком их добавления в список

• Список может содержать дублированные элементы

E get(int index); // возвращает объект в позиции

index E set(int index, E obj); // присваивает obj элементу в позиции index boolean

addAll(int index, Collection c); // вставляет все элементы c в вызывающий // список в позицию

index void add(int index, E element); // вставляет obj в позицию

index E remove(int index); // удаляет элемент в позиции index и // возвращает удаленный элемент 39 //

Search int indexOf(Object obj); // возвращает индекс первого экземпляра obj в списке // или -1, если obj не явл. элементом списка

int lastIndexOf(Object obj); // возвращает индекс последнего экземпляра obj в // списке или -1, если obj не явл. элементом списка

Set не додано, просто метод add () не стане додавати ще одну копію елемента, якщо такий елемент вже є в множині.

Інтерфейс Queue з пакету java.util, що розширює інтерфейс Collection, описує методи роботи з чергами. Чергою називається колекція, елементи в яку додаються з дного кінця, а видаляються з іншого кінця. Такий порядок обробки називається FIFO

   (First In -First Out, першим прийшов-першим пішов).

ListIterator listIterator(); //возвращает итератор, указывающий на начало //вызывающего списка ListIterator listIterator(int index); //возвращает итератор, указывающий на позицию index //вызывающего списк

List subList(int start, int end); // возвращает список, включающий элементы, //расположенные в вызывающем списке от start //до end

11. Програмна реалізація ArrayList. Основні операції

ArrayList

• расширяет класс AbstractList и реализует интерфейс List

• Поддерживает динамические массивы, которые по необходимости могут расширяться и сокращаться.

• ArrayList может увеличиваться и уменьшаться во время выполнения

void ensureCapacity(int cap) - «ручное увеличение емкостиArrayList

void trimToSize( ) - сокращение размера ArrayList

12. Використання ітератору для роботи из елементами колекцій

Объект Iterator позволяет просматривать содержимое коллекции последовательно, элемент за элементом. Позиции итератора располагаются в коллекции между элементами. В коллекции, состоящей из N элементов, существует N+1 позиций итератора.

Компилятор транслирует цикл «for-each» в цикл с итератором

Применение итератора вместо f

for (String element : c)

1) При операциях удаления текущего элемента

2) При проходах по нескольким коллекциям одновременно

Метод remove()интерфейса Iterator удаляет элемент,

который был возвращен последним вызовом next()

bIter = b.iterator();

while (bIter.hasNext())

{

bIter.next(); // skip one element

if (bIter.hasNext())

{

bIter.next(); // skip next element

bIter.remove(); // remove that element

}

}