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());
    }
}

Источник: http://net-informations.com/Java/col/hashtable.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Adblock
detector