Карта поиска в многопоточном env в Java - PullRequest
0 голосов
/ 26 апреля 2019

Я имею в виду карту поиска, которую можно использовать для проверки значения.

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);
    }

Это хороший способ? Любым другим путем? Или есть предложения? Пожалуйста, порекомендуйте. Спасибо

...