Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

29.7. Java – Класс Hashtable. Конструкторы. Методы. Пример. 29.8. Java – Класс Properties. Вот список конструкторов, предоставляемые классом HashTable. № Конструктор и описание Hashtable() Этот стандартный конструктор хэщ-




29. 7. Java – Класс Hashtable

Hashtable в Java был частью оригинального java. util и представляет собой конкретную реализацию Dictionary.

Однако, Java 2 переработал Hashtable, чтобы он также реализовал интерфейс Map. Таким образом, Hashtable теперь интегрирован в структуру коллекций. Он схож с HashMap, но синхронизован.

Как и HashMap, в Java Hashtable хранит пары ключей/значений в хэш-таблице. Используя Hashtable, вы указываете объект, который используется как ключ, и значение, которое вы ходите связать с этим ключом. Этот ключ затем хэшируется, а полученный хэш-код используется как индекс, в котором значение хранится в таблице.

Конструкторы

Вот список конструкторов, предоставляемые классом HashTable.

Конструктор и описание
Hashtable() Этот стандартный конструктор хэщ-таблицы, который создаёт экземпляр класса Hashtable.
Hashtable(int size) Этот конструктор принимает целочисленный параметр и создаёт хэш-таблицу, имеющая начальный размер, заданный размером целочисленного значения.
Hashtable(int size, float fillRatio) Это создаёт хэш-таблицу, в которой есть начальный размер, указанный в size, и коэффициент заполнения, заданный fillRatio. Этот коэффициент должен принимать значение между 0. 0 и 1. 0, и он определяет, насколько полной может быть хэш-таблица прежде чем она будет изменена в размерах.
Hashtable(Map < ? extends K, ? extends V > t) Это построит Hashtable с указанными отображениями.

Методы

Помимо методов, определённых интерфейсом Map, Hashtable определяет следующие методы:

Метод и описание
void clear() Сбрасывает и очищает хэш-таблицу.
Object clone() Возвращает дубликат вызываемого объекта.
boolean contains(Object value) Возвращает true, если некое значение равняется значению, существующему в хэш-таблице. Возвращает false, если значение не было найдено.
boolean containsKey(Object key) Возвращает true, если некий ключ равняется ключу, существующему в хэш-таблице. Возвращает false, если ключ не был найден.
boolean containsValue(Object value) Возвращает true, если некое значение равняется значению, существующему в хэш-таблице. Возвращает false если значение не было найдено.
Enumeration elements() Возвращает перечисление значений, содержащихся в хэш-таблице.
Object get(Object key) Возвращает объект, содержащий значение, связанное с ключом. Если ключ не находится в хэш-таблицы, возвращается нулевой объект.
boolean isEmpty() Возвращает true, если хэш-таблица пустая; возвращает false, если она содержит хотя бы один ключ.
Enumeration keys() Возвращает перечисление ключей, содержащихся в хэш-таблице.
Object put(Object key, Object value) Вставляет ключ и значение в хэш-таблицу. Возвращает ноль, если ключ ещё не в хэш-таблице, возвращает предыдущее значение, связанное с ключом, если ключ уже в хэш-таблице.
void rehash() Увеличивает размер хэш-таблицы и переопределяет все её ключи.
Object remove(Object key) Удаляет ключ и его значение. Возвращает значение, связанное с ключом. Если ключ отсутствует в хэш-таблице, возвращается нулевой объект.
int size() Возвращает количество записей в хэш-таблице.
String toString() Возвращает строковый эквивалент хэш-таблицы.

Пример

Следующая программа показывает несколько методов, поддерживаемых этой структурой данных:

import java. util. *; public class HashTableDemo { public static void main(String args[]) { // Создаёт хэш-карту Hashtable balance = new Hashtable(); Enumeration names; String str; double bal; balance. put(" Маша", new Double(3434. 34)); balance. put(" Михаил", new Double(123. 22)); balance. put(" Олег", new Double(1378. 00)); balance. put(" Денис", new Double(99. 22)); balance. put(" Антон", new Double(-19. 08)); // Показывает все балансы в хэш-таблицы. names = balance. keys();       while(names. hasMoreElements()) {    str = (String) names. nextElement();     System. out. println(str + ": " + balance. get(str)); }         System. out. println();       // Вносим 1, 000 в аккаунт Маши. bal = ((Double)balance. get(" Маша" )). doubleValue(); balance. put(" Маша", new Double(bal + 1000)); System. out. println(" Новый баланс Маши: " + balance. get(" Маша" )); }}

Получим следующее:

Антон: -19. 08Маша: 3434. 34Михаил: 123. 22Денис: 99. 22Олег: 1378. 0 Новый баланс Маши: 4434. 34

29. 8. Java – Класс Properties

Properties – это подкласс Hashtable. Он используется для хранения списков значений, в которых ключ является String, а значение также является String.

Класс Properties в Java используется множеством других классов. Например, это тип объекта, возвращаемый System. getProperties(), когда тот получает внешние значения.

Properties определяет следующие переменную экземпляра. Эта переменная содержит список свойств по умолчанию, связанный с объектом Properties.

Следующая программа показывает несколько методов, поддерживаемых этой структурой данных:

Properties defaults;

Конструкторы

Вот список конструкторов, предоставляемые классом Properties.

Конструктор и описание
Properties() Этот конструктор создает объёкт Properties, который не имеет значений по умолчанию.
Properties(Properties propDefault) Создаёт объект, который использует propDefault для своих значений по умолчанию. В обоих случаях список свойств пустой.
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...