Вы можете перебирать карту, используя набор записей, и для каждого значения (то есть массива) вы можете использовать Arrays.asList, чтобы преобразовать его в список и добавить его в ваш окончательный список.
Map<String , Integer[]> hm = new HashMap<String,Integer[]>();
List<Integer> finalList = new ArrayList<Integer>();
for(Entry<String, Integer[]> entry:hm.entrySet()) {
finalList.addAll(Arrays.asList(entry.getValue()));
}
с использованиемпараллельных потоков это можно сделать так:
Map<String , Integer[]> hm = new HashMap<String,Integer[]>();
List<Integer> finalList = hm.values().parallelStream().flatMap(Arrays::stream).collect(Collectors.toList())
Это простой пример с целочисленным массивом.Вы можете сослаться на это и прийти к вашему решению.