Если вы ищете исходный список для группировки в Карту Карт.
Ниже приведен фрагмент кода
List<FullCalendarDTO> arrayList = new ArrayList<FullCalendarDTO>();
arrayList.add(new FullCalendarDTO("US","A"));
arrayList.add(new FullCalendarDTO("EU","A"));
arrayList.add(new FullCalendarDTO("EU","A"));
arrayList.add(new FullCalendarDTO("US","A"));
arrayList.add(new FullCalendarDTO("US","B"));
Map<String, List<FullCalendarDTO>> result = arrayList.stream().collect(Collectors.groupingBy(FullCalendarDTO::getNameOfCountryOrRegion));
HashMap<String, Map<String, List<FullCalendarDTO>>> finalOutput = new HashMap<String, Map<String, List<FullCalendarDTO>>>();
for (Entry<String, List<FullCalendarDTO>> fullCalendarDTO : result.entrySet()) {
Map<String, List<FullCalendarDTO>> collect = fullCalendarDTO.getValue().stream().collect(Collectors.groupingBy(FullCalendarDTO::getLeagueDTO));
finalOutput.put(fullCalendarDTO.getKey(), collect);
}
System.out.println(finalOutput);
Какие выходы
{EU = {A = [EU :: A, EU :: A]}, US = {A = [US :: A, US :: A], B = [US :: B]}}