В целом я согласен с ответами о том, что getGroupForGroupingCriteriaTwo
лучше, поскольку он обращается к карте только один раз, однако ваше беспокойство о том, что, поскольку карта содержит 100 тыс. Элементов, время доступа будет высоким, оно неуместно.
Вы используете ConcurrentHashMap, поиск HashMap имеет сложность вычислений O(1)
, что означает, что независимо от размера данных эти вызовы будут возвращаться в постоянное время.
Эта оптимизация не улучшит производительность. Если вы действительно заинтересованы в повышении производительности, рассмотрите возможность использования подходящей инфраструктуры кэширования.