У меня есть карта значений. Значения ограничены всего 3 вариантами («A», «B», «C»). У меня будет около 100 записей для этой карты.
Map<String, String> map = new HashMap<>();
map.put("key1","A");
map.put("key2","B");
map.put("key3","C");
map.put("key4","A");
map.put("key5","B");
.
.
.
Единственной целью этой карты будет функция, в которой я получаю ключ в качестве ввода и мне нужно вернуть одно из трех «A», « B "," C "или ноль, если ключ не имеет значения. Мой поиск будет основан только на ключе здесь.
Я не могу решить, следует ли мне повторять значения и строить плоскую карту, как указано выше, или использовать Map<String, List<String>>
, где ключом будут три значения. Как в
Map<String, List<String>> map = new HashMap<>();
map.put("A",Arrays.asList("key1","key2"));
map.put("B",Arrays.asList("key3","key4"));
map.put("C",Arrays.asList("key5","key6"));
Или, я использую 3 отдельные List<String>
переменные и проверяю использование каждый раз. Как и в
List<String> A_LIST = Arrays.asList("key1","key2");
List<String> B_LIST = Arrays.asList("key3","key4");
List<String> C_LIST = Arrays.asList("key5","key6");
Также, я использую строки enum / stati c для значений здесь и повторяю их при построении карты? Каков был бы правильный способ сделать это? Любой совет будет полезен.