Отображение большого набора ключей на небольшой набор значений - ключи не непрерывны - PullRequest
0 голосов
/ 04 февраля 2019

Если у вас было 1 000 000 ключей (целых), которые сопоставлены с 10 000 значений (целых).Какой наиболее эффективный способ (производительность поиска и использование памяти) реализовать.

Предположим, что ключи не известны заранее и не являются непрерывными.Предположим, что значения случайные.т. е. не существует диапазона ключей, которые сопоставляются одному значению.

Самый простой подход, который я могу придумать, - это HashMap, но я задаюсь вопросом, можно ли добиться большего успеха, сгруппировав ключи, соответствующие одному значению.

Map<Integer,Integer> largeMap = Maps.newHashMap();
largeMap.put(1,4);
largeMap.put(2,232);
...
largeMap.put(1000000, 4);

Примечание. Это похоже на мой предыдущий вопрос ( Отображение большого набора ключей на небольшой набор значений ), однако разница здесь в том, что ключи не являются непрерывными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...