Хэштерный класс
Hashtable наследует интерфейс карты и реализует хэш-таблицу с помощью картирования клавиш. Любой не нулевой объект может использоваться в качестве ключа или значения.
Используйте PUT (ключ, значение), чтобы добавить данные, используйте GET (ключ) для извлечения данных. Время накладных расходов этих двух основных операций является постоянным.
Hashtable корректирует производительность через начальные параметры емкости и коэффициента нагрузки. Обычно коэффициент загрузки по умолчанию 0,75 может лучше достичь времени и космического баланса. Увеличение коэффициента нагрузки может сэкономить пространство, но соответствующее время поиска увеличится, что повлияет на такие операции, как Get и Plat.
Простой пример использования хэштета заключается в следующем: Поместите 1, 2 и 3 в хэштику, а их ключи - «один», «два», «три» соответственно:
Hashtable numbers = new hashtable (); number.put («One», New Integer (1)); number.put («два», новое целое число (2)); number.put («три», новое целое число (3));
Чтобы взять число, например, 2, используйте соответствующий ключ:
Integer n = (integer) numbers.get ("two"); System.out.println ("two =" + n);Поскольку объект в качестве ключа будет определять положение соответствующего значения путем расчета его хэш -функции, любой объект в качестве ключа должен реализовать методы хэшкода и равные. HashCode и Equal Method, наследуя от объекта класса корневого класса. Если вы используете пользовательский класс в качестве ключа, будьте очень осторожны. Согласно определению функции хэш, если два объекта одинаковы, то есть obj1.equals (obj2) = true, их хэшкод должен быть одинаковым, но если два объекта разные, их хэшкоды не могут быть разными. Если хешкоды двух разных объектов одинаковы, это явление называется конфликтом. Конфликт увеличит время работы хэш -таблицы. Поэтому попробуйте определить метод HashCode (), чтобы ускорить работу хэш -таблицы.
Если один и тот же объект имеет разные хэшкоды, операция в таблице хэш будет иметь неожиданные результаты (ожидаемый метод получения возврата нулевой). Чтобы избежать этой проблемы, вам нужно вспомнить только одну вещь: вы должны переписать метод Equals и метод хэшкода одновременно, а не просто писать один из них.
Хэштабл синхронизирован.
Hashmap Class
HashMap похож на хэштату, разница в том, что HashMap является асинхронным и допускает нулевое, то есть нулевое значение и нулевой ключ. Однако, когда HASHMAP рассматривается как метод сбора (The Value () может вернуть коллекцию), его итеративное время субоперирования пропорционально способности HashMap. Следовательно, если производительность итерационных операций очень важна, не устанавливайте инициализацию HashMap слишком высокой или коэффициент нагрузки слишком низок.
Суммировать