Для эффективного поиска по числовым ключам без использования хэш-функций лучше всего использовать структуру данных под названием дерево поиска (binary search tree). Дерево поиска позволяет быстро находить элементы по ключу, так как они хранятся в отсортированном порядке, что упрощает процесс поиска.
Для хранения различных размеров объектов и их указателей без необходимости хэширования ключей и синхронизации примитивов можно использовать структуру данных под названием динамический массив (vector). Динамический массив позволяет хранить элементы переменного размера в последовательности, обеспечивая эффективный доступ к каждому элементу.
Чтобы обойти проблемы производительности, возникающие при использовании HashMap из стандартной библиотеки, можно рассмотреть использование других структур данных, таких как TreeMap или LinkedHashMap, которые могут быть более подходящими в определенных случаях. Также следует обратить внимание на оптимизацию хэш-функций и использование подходящих параметров размера хэш-таблицы для улучшения производительности работы с HashMap.