Насколько я знаю, нет более простого способа, чем итерировать значения, а затем поместить значения в карту (как в каком-то предопределенном методе).
Map<String, List<String>> map = new HashMap<String, List<String>>();
if (values != null) {
for (CategoryValuePair cvp : values) {
List<String> vals = map.get(cvp.category);
if (vals == null) {
vals = new ArrayList<String>();
map.put(cvp.category, vals);
}
vals.add(cvp.value);
}
}
Я изменил значения карты с String[]
до List<String>
, так как мне кажется, что использовать его проще, чтобы вам не пришлось беспокоиться о изменении размера массива.