Я имею в виду карту поиска, которую можно использовать для проверки значения.
private ConcurrentMap<String, Integer> name2IdMap;
........
public Integer fetchIdByName(String name) {
if (name2IdMap == null) {
List<Entity> entities = dao.listAll();
Map<String, Integer> temp = entities.stream().collect(Collectors.toMap(Entity::getName, Entity::getId));
name2IdMap = new ConcurrentHashMap<>(temp);
}
return name2IdMap.get(name);
}
Это хороший способ? Любым другим путем? Или есть предложения? Пожалуйста, порекомендуйте. Спасибо