10
Хеширование
В этой главе приводится описание MyBetterMap, лучшей реали-
зации интерфейса Map (по сравнению с MyLinearMap), и рассма-
тривается хеширование, использование которого делает класс
MyBetterMap более эффективным.
Хеширование
Чтобы улучшить производительность MyLinearMap, мы напишем
новый класс под названием MyBetterMap, содержащий коллекцию
объектов MyLinearMap. Он распределяет ключи среди встроенных
карт, поэтому количество записей на каждой карте меньше, что
позволяет ускорить findEntry и методы, которые от него зависят.
Начало определения класса будет таким:
public class MyBetterMap<K, V> implements Map<K, V> {
protected List<MyLinearMap<K, V>> maps;
public MyBetterMap(int k) {