145
Диаграммы классов UML
size = 0;
rehash();
}
return oldValue;
}
Здесь та же проблема: вызывая метод put на подкарте, мы
не знаем, добавил ли он новую запись. Таким образом, исполь-
зуем одно и то же решение, вычитая старый и добавляя новый
размер.
Теперь реализация метода size проста:
public int size() {
return size;
}
И это действительно выполняется за постоянное время.
Профилируя данное решение, я обнаружил: общее время для
ввода n ключей пропорционально n, а это значит, что каждый
put является методом постоянного времени, как и предпола-
галось.
Диаграммы классов UML
Одна из проблем работы с кодом в этой главе состоит в том, что
есть несколько классов, зависящих друг от друга. Ниже приве-
дены некоторые из связей между классами:
MyLinearMap содержит ...