Физика
Математика
Архитектура
Сети
Лекции
Интегралы
Начертательная
Курсовая

АЭС

Алгебра
Задачи
ТОЭ
Энергетика
Матанализ
Черчение
Графика

Классы-коллекции, программирование в Java

Если метод определен с ключевым словом final, это означает, что его нельзя будет переопределить в производном классе. Если ни один конструктор не определен, компилятор создает конструктор по умолчанию - без параметров. Если явно определен хотя бы один конструктор, то конструктор по умолчанию не создается. Деструкторов, т.е., методов, автоматически вызываемых при удалении объекта, в языке Java нет.

Класс Hashtable

Класс Hashtable расширяет абстрактный класс Dictionary . В объектах этого класса хранятся пары "ключ — значение".

Из таких пар "Фамилия И. О. — номер" состоит, например, телефонный справочник.

Еще один пример — анкета. Ее можно представить как совокупность пар "Фамилия — Иванов", "Имя — Петр", "Отчество — Сидорович", "Год рождения — 1975" и т. д.

Подобных примеров можно привести множество.

Каждый объект класса Hashtable кроме размера (size) — количества пар, имеет еще две характеристики: емкость (capacity) — размер буфера, и показатель загруженности (load factor) — процент заполненности буфера, по достижении которого увеличивается его размер.

Как создать таблицу

Для создания объектов класс Hashtable предоставляет четыре конструктора:

Hashtable () — создает пустой объект с начальной емкостью в 101 элемент и показателем загруженности 0,75;

Hashtable (int capacity) — создает пустой объект с начальной емкостью capacity и показателем загруженности 0,75;

Hashtable(int capacity, float loadFactor) — создает пустой Объект с начальной емкостью capacity и показателем загруженности loadFactor;

Hashtable (Map f) — создает объект класса Hashtable , содержащий все элементы отображения f, с емкостью, равной удвоенному числу элементов отображения f , но не менее 11, и показателем загруженности 0,75.

Как заполнить таблицу

Для заполнения объекта класса Hashtable используются два метода:

Object put(Object key, Object value) — добавляет пару " key— value ", если ключа key не было в таблице, и меняет значение value ключа key , если он уже есть в таблице. Возвращает старое значение ключа или pull , если его не было. Если хотя бы один параметр равен null , возникает исключительная ситуация;

void putAii(Map f) — добавляет все элементы отображения f . В объектах-ключах key должны быть реализованы методы hashCode() и equals ().

Как получить значение по ключу

Метод get (Object key) возвращает значение элемента с ключом key в виде объекта класса object . Для дальнейшей работы его следует преобразовать к конкретному типу.

Как узнать наличие ключа или значения

Логический метод containsKey(object key) возвращает true , если в таблице есть ключ key .

Логический метод containsvalue (Object value) или старый метод contains (object value) возвращают true , если в таблице есть ключи со значением value .

Логический метод isEmpty () возвращает true , если в таблице нет элементов.

Как получить все элементы таблицы

Метод values () представляет все значения value таблицы в виде интерфейса Collection . Все модификации в объекте collection изменяют таблицу, и наоборот.

Метод keyset () предоставляет все ключи key таблицы в виде интерфейса set . Все изменения в объекте set корректируют таблицу, и наоборот.

Метод entrySet() представляет все пары " key— value " таблицы в виде интерфейса Set . Все модификации в объекте set изменяют таблицу, и наоборот.

Метод tostring () возвращает строку, содержащую все пары.

Старые методы elements () и keys () возвращают значения и ключи в виде интерфейса Enumeration .