Я создал перечисление, включающее 4 формата адресов. Я знаю, какая страна какой формат использует, и пытаюсь создать HashMap, который будет включать страны в качестве ключа и форматы в качестве значения. Я хочу получить формат адреса страны с временной сложностью O(1).
Код: Выделить всё
static final HashMap countries = new HashMap();
static {
for (Format format : Format.values()) {
for (String country : format.getCountries()) {
countries.put(country, format);
}
}
}
public static Optional fromCountry(String country) {
return Optional.ofNullable(countries.get(country));
}
Пример перечисления формата:
Код: Выделить всё
FORMAT1("[num] [road]", ["AD", "AE", "AG", "......", "ZA", "ZM", "ZW"])
Мое приложение является многопоточным, но я не буду помещать данные на эту карту после инициализации и получу значение с этой карты только с помощью fromCountry()способ выше. В этом случае могу ли я использовать HashMap или мне нужно использовать ConcurrentHashMap? Есть ли лучший способ, чем использовать их?
Подробнее здесь:
https://stackoverflow.com/questions/787 ... get-method