Hashtable в Java
Hashtable - это структура данных, используемая для реализации ассоциативного массива, структуры, которая может сопоставлять ключи со значениями. Он может обеспечить очень эффективный способ поиска элементов в больших объемах данных, особенно данных, которые в противном случае легко найти. Hashtable может содержать только уникальные элементы и может не иметь нулевого ключа или значения. Он почти похож на HashMap, но синхронизирован. Словарь - это абстрактный базовый класс Hashtable. Однако Java 2 переработал Hashtable, так что он также реализует интерфейс Map и делает его членом Framework коллекций Java.
Hashtable - это структура данных, используемая для реализации ассоциативного массива, структуры, которая может сопоставлять ключи со значениями. Он может обеспечить очень эффективный способ поиска элементов в больших объемах данных, особенно данных, которые в противном случае легко найти. Hashtable может содержать только уникальные элементы и может не иметь нулевого ключа или значения. Он почти похож на HashMap, но синхронизирован. Словарь - это абстрактный базовый класс Hashtable. Однако Java 2 переработал Hashtable, так что он также реализует интерфейс Map и делает его членом Framework коллекций Java....
Хэш-алгоритм используется для генерации индекса в этот массив на основе значений элемента, который будет храниться в массиве. Максимальный размер этого массива обычно меньше, чем количество элементов в наборе возможных значений для типа данных, хранящихся в хеш-таблице. Когда элемент добавляется в Hashtable, элемент помещается в ведро на основе хеш-кода ключа. Каждое ведро может иметь несколько записей, которые организованы в определенном порядке. Последующие поиски ключа используют хэш-код ключа для поиска только в одном конкретном ведре, что существенно сокращает количество сопоставлений ключей, необходимых для поиска элемента. Коэффициент загрузки Hashtable определяет максимальное отношение элементов к ведрам. Меньшие коэффициенты нагрузки вызывают более быстрое среднее время поиска за счет увеличения потребления памяти. Экземпляр Hashtable имеет два параметра, которые влияют на его производительность: начальная емкость и коэффициент нагрузки. Емкость - это количество ведер в хэш-таблице, а начальная емкость - это просто емкость на момент создания хеш-таблицы.
Следующая программа Java иллюстрирует несколько методов, поддерживаемых этой базой данных Hashtable.
import Java.util.*;
class TestClass
{
public static void main (String[] args) throws Java.lang.Exception
{
// Как создать Hashtable?
Hashtable days = new Hashtable ();
// Как добавить пары «ключ / значение» в Hashtable?
days.put(1,"Sunday");
days.put(2,"Monday");
days.put(3,"Tuesday");
days.put(4,"Wednesday");
days.put(5,"Thursday");
days.put(6,"Friday");
days.put(7,"Saturday");
// Как проходить через Hashtable?
for(Map.Entry m:days.entrySet()){
System.out.println(m.getKey()+" "+m.getValue());
}
// Как удалить определенный элемент из Hashtable?
days.remove(3);
Set> set = days.entrySet();
for (Map.Entry sg : set) {
System.out.println("Key :"+sg.getKey() + " Value :"+days.get(sg.getKey()));
}
// Как найти ключ в Hashtable?
Integer key=4;
if(days.containsKey(key)){
System.out.println("Key " + key + " found");
}else{
System.out.println("Key " + key+ " does not exist");
}
// Как получить ключ от его значения в Hashtable?
Integer iKey= null;
String value="Monday";
for(Map.Entry entry: days.entrySet()){
if(value.equals(entry.getValue())){
iKey = (Integer)entry.getKey();
break; // нарушение, потому что его одна к одной карте
}
}
System.out.println("Found Key : "+ iKey +" value: " + value);
// Как удалить весь элемент из хэш-таблицы?
days.clear();
// Как найти размер Hashtable?
System.out.println("After remove: "+ days.size());
}
}

(1 оценок, среднее: 4,00 из 5)