All
Я работаю над существующей системой, в которой разработчик определил множество HashMaps
со следующим определением:
HashMap<String, Comparable> x = new HashMap<String, Comparable>();
Теперь абсолютно нет необходимости сравнивать часть value
хеш-карты, поскольку она просто представляет только один фрагмент информации. Разработчик использовал Comparable
, поскольку единственными ожидаемыми значениями были типы String и int (преобразованные в объект Integer), и разработчик предположил, что лучший способ хранения обоих типов данных - это использование сопоставимого интерфейса.
Итак, я пошел дальше и изменил код, поскольку здесь не было смысла сравнивать, определив HashMap как:
HashMap<String, Object> y = new HashMap<String, Object>();
Я рассчитал время выполнения кода до и после изменения. Я немного удивлен тем, почему после развертывания моих изменений выполнение кода занимает больше времени (хотя в настоящее время это не является узким местом в производительности).
Может кто-нибудь помочь мне понять изменение в поведении из-за обновлений моего кода?