Привет! У меня есть блок кода, который преобразует список оконных объектов одного типа в другой и помещает их в карту, используя идентификатор. Может быть много экземпляров объектов с одинаковым идентификатором, но с разными именем и атрибутом. Я собираюсь взять список [W1 (1,2,3), W1 (2,3,4), W2 (1,3,4) ...] и преобразовать его в
Карта [ключ W1, значения (1,2,3), (2,3,4)
ключ W2, ....
]
Вот фрагмент кода ...
List<LinWin> list = winDao.get.....
Map<Long, List<MacWin>> res = new HashMap<>();
for (LinWin mw : list) {
List<MacWin> l2 = res.get(mw.getId());
if (l2 == null) {
l2 = new ArrayList<>();
res.put(mw.getId(), l2);
}
l2.add(new MacWin(mw.getName(), mw.getVendor(), mw.isFixed()));
}
возврат разрешения
Мне было интересно, смогу ли я использовать потоки и лямбды, чтобы свернуть это.
list.stream (). Сбор (Collectors.toMap (.....