HashMap не должно быть слишком много. И я не думаю, что можно копаться в куче с публичным Java API. Скорее всего, Объектов там не будет, так как они будут собраны, если нет ссылки.
То, что вы могли бы сделать, если накладные расходы HashMap слишком велики, это выделить массив, например Object [] или Entry []. Конечно, вы потеряете возможности быстрого доступа, добавления и удаления (учитывая, что массив имеет фиксированный размер, трудно добавлять элементы, если массив слишком мал).
При использовании решения с массивами вам нужно заранее знать, сколько у вас будет записей, или скопировать массив в больший массив, если необходимо, принять во внимание нулевые значения, если вы разрешите удаление и так далее. Что делает ArrayList, в основном.