Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zbirnuk_lab_po_kursy_intTexTaSybd.doc
Скачиваний:
8
Добавлен:
08.12.2018
Размер:
754.18 Кб
Скачать

Інтерфейси колекцій

Нагадаємо, інтерфейс – це набір функцій, котрі повинні бути реалізовані (визначені) в класі.

Інтерфейс Collection.

Інтерфейс Collection – основа, на якій формується структура колекцій. В ньому оголошуються методи, котрі визначаються всіма колекціями.

Основні методи колекцій:

boolean add(Object obj)

Додає obj до колекції. Повертає true, якщо obj був доданий до колекції, і false якщо obj уже був доданий до колекції і якщо колекція не допускає дублікатів

void clear()

Видаляє всі елементи із колекції

boolean contains(Object obj)

Повертає true, якщо колекція містить obj, false – якщо ні

Iterator iterator()

Повертає ітератор (iterator) для колекції

boolean remove(Object obj)

Видаляє один екземпляр obj із колекції. Повертає true якщо елемент був видалений і false - якщо ні

int size()

Повертає кількість елементів, котрі містяться в колекції

Object toArray()

Повертає масив, котрий містить всі елементи колекції

Об’єкти додаються в колекцію з допомогою методу add(). Зверніть увагу, що add() отримує аргумент типу Object. Оскільки Object – суперклас для всіх класів, в колекції можна зберігати об’єкт будь-якого типу. Однак, примітивні типи зберігати не можна.

Для видалення об’єктів служить метод remove().

Інтерфейс List.

Цей інтерфейс доповнює Collection і визначає поведінку колекції, котра зберігає послідовність елементів. Елементи можуть бути вставлені або отримані із колекції з допомогою їх позиції в списку, котра відраховується від нуля.

Методи інтерфейсу List.

void add(int index, Object obj)

Вставляє obj в колекцію в позицію з індексом index. Будь-які елементи, котрі існували раніше в точці вставки або вище неї будуть зсунуті (тобто елементи не перезаписуються поверх існуючих)

Object get(int index)

Повертає об’єкт, котрий зберігається в позиції index

int indexOf(Object obj)

Повертає індекс першого екземпляру obj. Якщо obj не знайдено – повертається -1

Object remove(int index)

Видаляє елемент із позиції index. В результаті список ущільнюється (тобто, індекси наступних елементів зменшуються на 1)

Object set(int index)

Встановлює об’єкт obj в позиції під номером index

Інтерфейс Set.

Цей інтерфейс повторює інтерфейс Collection і оголошує поведінку колекції, котра не допускає дублювання елементів. Тому метод add() повертає false, якщо здійснюється спроба додати в набір дублюючі елементи.

Класи колекцій

Це класи – котрі реалізують вищезгадані інтерфейси, тобто реалізовують всі методи.

Клас ArrayList.

Цей клас реалізує інтерфейс List. ArrayList підтримує динамічні масиви, котрі можуть рости по мірі необхідності. В Java стандартні масиви мають фіксовану довжину. Після того, як масиви створені, вони не можуть розширюватись або зменшуватись, це означає, що ви наперед повинні знати, скільки елементів буде знаходитись у масиві. Але, інколи, ви не можете до моменту виконання точного розміру масиву. Саме для цього і служить клас ArrayList.

Приклад 1.

import java.util.ArrayList;

public class Lab2

{

public static void main(String[] args)

{

//створюємо динамічний масив

ArrayList al = new ArrayList();

System.out.println("Starting size of al: "+al.size());

//додаємо елементи в масив

al.add("C");

al.add("A");

al.add("B");

al.add("D");

al.add("C");

al.add("F");

al.add(1,"A2");

System.out.println("Size of al after add : "+al.size());

//показати на екрані список масиву

System.out.println("al consists of : "+al);

//видалити елементи із списку

al.remove("F");

al.remove(2);

System.out.println("Size of al after removing : "+al.size());

//показати на екрані список масиву

System.out.println("al consists of after removing : "+al);

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]