
- •Лабораторна робота №5 (Java. Типи даних.)
- •План роботи
- •Теоретичні відомості
- •Більш складні типи даних – масиви.
- •Оператори керування кодом програми. Оператори if, if-else.
- •Оператори switch.
- •Порядок виконання роботи
- •Інтерфейси колекцій
- •Інтерфейс Collection.
- •Інтерфейс List.
- •Інтерфейс Set.
- •Класи колекцій
- •Клас ArrayList.
- •Клас HashSet.
- •Клас TreeSet.
- •Колекції класів, визначених програмістом.
- •Порядок виконання роботи
- •Контрольні питання
- •Завдання властивостей компонентів.
- •Обробка подій.
- •Порядок виконання роботи
- •Контрольні питання
- •Лабораторна робота №8 (Пакет Swing – компонувальники (LayoutManager))
- •План роботи
- •Теоретичні відомості
- •Компоновульник FlowLayout.
- •Компонувальник BorderLayout
- •Компонувальник CardLayout.
- •Компонувальник BoxLayout.
- •Компонувальник GridLayout
- •Порядок виконання роботи
- •Контрольні питання
- •Лабораторна робота №9 (Створення простого текстового редактора.)
- •План роботи
- •Теоретичні відомості
- •Порядок виконання роботи.
- •Контрольні питання
- •Порядок виконання роботи
- •Контрольні питання
- •Лабораторна робота №11 (Основні компоненти j2me)
- •Теоретичні відомості
- •Компоненти графічного інтерфейсу користувача midp. (пакет javax.Microedition.Lcdui)
- •Програмна структура mid-лета.
- •Завдання
- •Контрольні питання
- •Список рекомендованої літератури
- •Ресурси
Інтерфейси колекцій
Нагадаємо, інтерфейс – це набір функцій, котрі повинні бути реалізовані (визначені) в класі.
Інтерфейс 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);
}
}