HashTable в примере Java | Руководство по Java HashTable

HashTable в Java — это тип фреймворка коллекций, который используется для хранения и управления группой объектов. Это массив списка в java (известный как bucket ), который используется для реализации хэш-таблицы, которая сопоставляет ключи со значениями. Hashtable содержит уникальные элементы. Первоначальная емкость класса Hashtable по умолчанию — 11 и не допускает пустых ключей и значений.

HashTable в Java

Java Класс Hashtable реализует хеш-таблицу, которая сопоставляет ключи значениям. Он наследует класс Dictionary и реализует интерфейс Map. Если мы хотим успешно сохранять и извлекать объекты из хэш-таблицы, объекты, используемые в качестве ключей, должны реализовывать метод hashCode и метод equals.

  1. Он похож на HashMap, но он синхронизирован.
  2. Hashtable хранит пару ключ/значение в хеш-таблице.
  3. В Hashtable мы указываем объект, который используется в качестве ключа, и значение, которое мы хотим связать с этим ключом. Затем ключ хешируется, и в результате хэш-код используется в качестве индекса, по которому значение сохраняется в таблице.

# Ключевые моменты Java Класс Hashtable

  1. Hashtable — это массив списка. Каждый список называется корзиной. Положение корзины определяется путем вызова метода hashcode (). Hashtable содержит значения на основе ключа.
  2. Класс Java Hashtable содержит уникальные элементы.
  3. Класс Java Hashtable не допускает использования нулевого ключа или значения.
  4. Класс Java Hashtable синхронизирован.
  5. Начальная емкость класса Hashtable по умолчанию составляет 11, тогда как loadFactor — 0,75.

# Работа и хранение данных в Hashtable

В Hashtable мы указываем объект, который используется в качестве ключа, и значение, которое мы хотим связать с этим ключом.

Объявление класса #Hashtable

Давайте разберемся с объявлением Hashtable в классе java.util.Hashtable.

 открытый класс Hashtable  расширяет Dictionary , реализует Map , Cloneable, Serializable 

Класс Hashtable расширяет класс Dictionary и реализует интерфейс Maps, Cloneable и Serializable.

Здесь

iv>
  1. ‘K’ — это тип ключа.
  2. ‘V’ — это тип сопоставленных значений с ключами.

#When to use Hashtable

Hashtable может использоваться во многих различных контекстах. См. в примерах ниже.

#Search

Хеширование полезно для индексации больших пространств хранения, чтобы вы могли искать в них что-то, не читая каждый раз все их содержимое.

например, в словаре. , Слова будут ключами в Hashtable, поскольку они должны быть уникальными.. С другой стороны, определения будут значениями в соответствии с ключами или словами из словаря.

# Языки программирования

Хеш-таблицы — удобный способ реализовать механизм, который связывает имя переменной с ее ячейкой памяти, например, для хранения любых данных и значений в соответствии с их типами данных в памяти.

# Конструкторы, предоставляемые классом HashTable

Класс Hashtable имеет четыре конструктора, а именно:

  1. Hashtable (): это конструктор по умолчанию для хэш-таблицы, который создает экземпляр класса Hashtable.
  2. Hashtable (int size): It создает хеш-таблицу с начальным размером, указанным размером.
  3. Hashtable (int size, float fillRatio): Создает новую пустую HashTable с указанным начальным размер и коэффициент заполнения.
  4. Hashtable (Map m): он создает HashTable, который инициализируется парами ключ-значение в указанной карте.

Коэффициент заполнения определяет, каким может быть полный HashTable до увеличения его емкости. Его значение находится в диапазоне от 0,0 до 1,0.

# Методы, предоставляемые классом HashTable

Методы в классе HashTable очень аналогично HashMap.

#Object put (Object key, Object value)

Он сопоставляет указанный ключ с указанным значением в HashTable. Ни ключ, ни значение не могут быть нулевыми. См. Следующую программу.

 import java.util.Hashtable; import java.util.Iterator; public class p {public static void main (String [] args) {Hashtable  h1  = new Hashtable  ();//Создана Hashtable//Добавляем отображения в хеш-таблицу h1.put (1, "H");  h1.put (2, «А»);  h1.put (3, "S");  h1.put (4, "H");  h1.put (5, "Т");  h1.put (6, «А»);  h1.put (7, "B");  h1.put (8, "L");  h1.put (9, "E");  System.out.println (h1);  }} 

См. следующий результат.

#Object get (Object key)

Возвращает значение, которому сопоставлен указанный ключ. Возвращает null, если такой ключ не найден.

См. Следующую программу.

 import java.util.Hashtable; public class g {public static void main (String  [] args) {Hashtable  h = new Hashtable  ();//Создана Hashtable//Добавляем сопоставления в хеш-таблицу h.put (1, "H");  h.put (2, «А»);  h.put (3, "S");  h.put (4, "H");  h.put (5, "Т");  h.put (6, «А»);  h.put (7, "B");  h.put (8, "L");  h.put (9, "E");  System.out.println (ч); //Получаем отображение по ключу String v = h.get (4); //получить данные по 4-му индексу System.out.println (v); //для печати значения с указанным выше индексом}} 

См. следующий вывод.

#Object remove (Object key)

Удаляет ключ (и соответствующее ему значение) из HashTable . См. Следующий файл.

 import java.util.Hashtable; import java.util.Iterator; public class r {public static void main (String [] args) {Hashtable   h = new Hashtable  ();//Создана Hashtable//Добавляем отображения в хеш-таблицу h.put (1, "H"); h.put (2, "A"); h.put (3, "S"  ); h.put (4, "H"); h.put (5, "T"); h.put (6, "A"); h.put (7, "B"); h.put (  8, "L"); h.put (9, "E"); System.out.println (h);//Удаляем отображение h.remove (5);//5 удаляется System.out.println (  h);}} 

См. результат.

#boolean contains (Object value)

Возвращает true, если указанное значение существует в хеш-таблице для любой пары, иначе возвращает false. Обратите внимание, что логический метод contains () идентичен по функциональности функции containsValue ().

См. следующую программу.

 import j  ava.util.Hashtable; public class c1 {public static void main (String [] args) {Hashtable  h = new Hashtable  ();//Создана Hashtable//Добавляем сопоставления в хеш-таблицу h.put (  1, «Н»);  h.put (2, «А»);  h.put (3, "S");  h.put (4, "H");  h.put (5, "Т");  h.put (6, «А»);  h.put (7, "B");  h.put (8, "L");  h.put (9, "E");  System.out.println (ч); //проверка, присутствует ли L в таблице или нет System.out.println ("Присутствует ли значение 'L'?" + h.contains ("L"));  }} 

См. результат.

#boolean containsValue (значение объекта)

Возвращает true, если указанное значение существует в хеш-таблице для любой пары, иначе возвращает false.

 import java.util.Hashtable; public class c2 {public static void main (String [] args) {Hashtable  h = new Hashtable  ();//Created Hashtable//Добавить сопоставления в хеш-таблицу h.put (1, "H");  h.put (2, «А»);  h.put (3, "S");  h.put (4, "H");  h.put (5, "Т");  h.put (6, «А»);  h.put (7, "B");  h.put (8, "L");  h.put (9, "E");  System.out.println (ч); //проверяем, существует ли значение if (h.containsValue ("S")) System.out.println ("значение найдено в таблице");  }} 

См. следующий результат.

#boolean containsKey (ключ объекта)

Возвращает true, если указанный ключ существует в хэш-таблице для любой пары, иначе возвращает false. См. Следующий код.

 import java.util.Hashtable; import java.util.Iterator; public class c3 {public static void main (String [] args) {Hashtable  h  = new Hashtable  ();//Создана Hashtable//Добавляем отображения в хеш-таблицу h. положите (1, "H");  h.put (2, «А»);  h.put (3, "S");  h.put (4, "H");  h.put (5, "Т");  h.put (6, «А»);  h.put (7, "B");  h.put (8, "L");  h.put (9, "E");  System.out.println (ч); //проверяем, существует ли ключ if (h.containsKey (9)) System.out.println ("Ключ найден в таблице");  }} 

См. результат.

#boolean isEmpty ()

Возвращает true, если Hashtable пуста; возвращает false, если содержит хотя бы один ключ. См. Следующий код.

 import java.util.Hashtable; import java.util.Iterator; public class e {public static void main (String [] args) {Hashtable  h  = new Hashtable  ();//Создана Hashtable//Добавляем отображения в хеш-таблицу h.put (1, "H");  h.put (2, «А»);  h.put (3, "S");  h.put (4, "H");  h.put (5, "Т");  h.put (6, «А»);  h.put (7, "B");  h.put (8, "L");  h.put (9, "E");  System.out.println (ч); //очистить хеш-таблицу h h.clear (); //проверка, пуста ли хеш-таблица h if (h.isEmpty ()) System.out.println ("да хеш-таблица пуста");  }} 

См. следующий результат.

#void clear ()

Используется для удаления всех пар в HashTable. См. Следующий код.

 import java.util.Iterator; public class c {public static void main (String [] args) {Hashtable  h = new Hashtable  ()  ;//Создана хеш-таблица//Добавляем отображения в хеш-таблицу h.put (1, "H");  h.put (2, «А»);  h.put (3, "S");  h.put (4, "H");  h.put (5, "Т");  h.put (6, «А»);  h.put (7, "B");  h.put (8, "L");  h.put (9, "E");  System.out.println (ч); //очистить хеш-таблицу h h.clear ();  System.out.println (ч);  }} 

Этот вывод будет недоступен, поскольку данные очищены.

#entrySet ()

Он используется для получения заданного представления записей, содержащихся в этой хэш-таблице. См. Следующий код.

//Код Java, иллюстрирующий метод entreysent () import java.util. *;  class es {public static void main (String [] arg) {//создание хеш-таблицы Hashtable  h = new Hashtable  ();  h.put (3, "C");  h.put (2, "B");  h.put (1, «А»); //создание представления набора для хэш-таблицы Set s = h.entrySet (); //печать наборов записей System.out.println ("набор записей:" + s);  }} 

См. результат.

#String toString ()

Возвращает строковый эквивалент хеш-таблицы. См. Следующий код.

//Код Java, иллюстрирующий метод toString () import java.util. *;  class s {public static void main (String [] arg) {//создание хэш-таблицы Hashtable  h = new Hashtable  ();  h.put (3, «А»);  h.put (2, "B");  h.put (1, "C"); //Строковый эквивалент map System.out.println ("строковый эквивалент" + "map:" + h.toString ());  }} 

См. следующий результат.

#int size ()

Метод size () возвращает количество записей в хеш-таблице. См. Программу.

//Код Java для понимания метода size () import java.util. *; Class size1 {public static void main (String [] arg) {//создание хеш-таблицы  Hashtable  m = новая Hashtable  (); //введите имя/м пара m.put ("A", new Integer (345));  m.put ("B", новое целое число (245));  m.put ("C", новое целое число (790));  m.put ("D", новое целое число (365)); //размер хеш-таблицы System.out.println ("Размер:" + m.size ());  }} 

См. следующий результат.

#KeySet()

Метод KeySet () используется для получения представления Set всех ключей, содержащихся в конкретной хеш-таблице.

//Код Java для понимания метода keySet () import java.util. *; class keyset1 {public static void main (String [] arg) {//создание хеш-таблицы Hashtable  h = новая хеш-таблица  ();  h.put (3, "X");  h.put (2, "Y");  h.put (1, "Z"); //создание представления набора для ключей Set skey = h.keySet (); //проверка набора ключей System.out.println ("key set:" + skey);  }} 

См. следующий результат.

#int hashCode ()

Метод hashCode () возвращает значение хэш-кода для этой карты в соответствии с определением в интерфейсе карты. См. Следующий код.

//Код Java для понимания метода hashCode () import java.util. *; Class hashcode1 {public static void main (String [] arg) {//создание хэша  table Hashtable  h = new Hashtable  ();  h.put (3, «три»);  h.put (2, «два»);  h.put (1, «один»); //получение хэш-кода System.out.println ("хэш-код:" + h.hashCode ());  }} 

См. следующий результат.

#computeIfAbsent()

Метод computeIfAbsent (Key, Function) класса HashMap используется для вычислить значение для данного ключа, используя данную функцию сопоставления, если ключ еще не связан со значением (или сопоставлен с нулевым значением), и введите это вычисленное значение в HashTable else null.

См. следующую программу.

//Программа Java для понимания метода computeIfAbsent (Key, Function).  импорт java.util. *; public class computeifabsent {//Основной метод public static void main (String [] args) {//создаем таблицу и добавляем некоторые значения Map  T = new Hashtable  ();  T.put ("X", 10);  T.put («Ы», 20);  T.put ("Z", 30); //печать деталей карты System.out.println ("hashTable:" + T.toString ());  T.computeIfAbsent ("newX", k -> 100); //предоставляем значение для нового ключа, которого нет, используя метод computeIfAbsent T.computeIfAbsent ("newY", k -> 200);  System.out.println ("новая хеш-таблица" + T); //печать нового сопоставления}} 

См. следующий вывод.

#putIfAbsent ()

Метод putIfAbsent () класса Hashtable, который позволяет сопоставить значение заданному ключу, если данный ключ не связан со значением и не отображается в нуль. См. Программу.

//Программа на Java для понимания метода putIfAbsent (ключ, значение).  import java.util. *; public class putifabsent1 {//Основной метод public static void main (String [] args) {//создаем таблицу и добавляем некоторые значения Map  t = new Hashtable  ();  t.put («А», 100);  t.put («Б», 200);  t.put ("C", 300); //печать деталей карты System.out.println ("hashTable:" + t.toString ()); //Вставка несуществующего ключа со значением//с использованием метода putIfAbsent String retValue = String.valueOf (t.putIfAbsent ("E", 400)); //Распечатать возвращенное значение System.out.println («Возвращаемое значение» + »для ключа« E »:« + retValue); //выводим новое отображение System.out.println ("hashTable:" + t); //Вставка существующего ключа со значением//с использованием метода putIfAbsent retValue = String.valueOf (t.putIfAbsent ("Book", 4500)); //Распечатать возвращенное значение System.out.println («Возвращаемое значение» + »для ключа 'B':« + retValue); //выводим новое отображение System.out.println ("hashTable:" + t);  }} 

См. следующий результат.

#enumeration keys ()

Метод enumeration keys () используется для получения перечисления ключей, содержащихся в хэш-таблице. См. Программу.

//Код Java, иллюстрирующий keys () method import java.util. *; Class enumkeys {public static void main (String [] arg) {//создание хеш-таблицы Hashtable   h = новая хеш-таблица  ();  Hashtable  h1 = new Hashtable  ();  h.put (3, «три»);  h.put (2, «два»);  h.put (1, «один»); //создать перечисление Enumeration e1 = h.keys ();  System.out.println ("ключ отображения:");  в то время как (e1.hasMoreElements ()) {System.out.println (e1.nextElement ());  }}} 

См. результат.

#values()

Метод values ​​() используется для проверки значений hashTable. См. Следующий код.

//Код Java для понимания values ​​() method import java.util. *; Class value1 {public static void main (String [] arg) {//создание хэша  table Hashtable  h = new Hashtable  ();  h.put (3, "X");  h.put (2, "Y");  h.put (1, "Z"); //создание представления набора для хэш-таблицы Set s = h.entrySet (); //проверка вида коллекции значений System.out.println ("collection values:" + h.values ​​());  }} 

См. следующий результат.

Наконец, пример HashTable в Java завершен.

Оцените статью
nanomode.ru
Добавить комментарий