Есть объект, и есть view для этого объекта.
Есть Map<String, List<MyObject>>
. Необходимо получить Map<String, List<MyObjectView>>
.
Сейчас я это делаю так:
Map<String, List<MyObject>> map;
Map<String, List<MyObjectView>> response = new HashMap<>();
for (Map.Entry<String, List<MyObject>> m : map.entrySet()) {
List<MyObjectView> dtos = m.getValue()
.stream()
.map(Function<>)
.collect(Collectors.toList());
response.put(m.getKey(), dtos);
}
В .map с помощью Function происходит преобразование MyObject в MyObjectView.
Можно ли то же самое сделать без создания дополнительной Map-ы(response)?
Можно было бы, если бы у MyObject
и MyObjectView
был общий супертип
Map<String, List<? extends MyType>> map = ...;
map.replaceAll((k, v) -> v.stream()
.map(function)
.collect(Collectors.toList()));
Но так как типы разные, придётся сгенерировать новое отображение
Map<String, List<MyObjectView>> response = map.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey,
e - > e.getValue()
.stream()
.map(function)
.collect(Collectors.toList())));
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне необходимо из одного класса получить картинку из другого класса, а именно из другого layout, относящегося ко второму классу
Я хочу сделать следующее приложение: Есть 2 конечные токи API: 1) /hello/user - возвращает строку Hello ${username}, где username имя пользователя 2) /hello/anonymous - возвращает...
Задача: скачать файл из БД формата mp4 как бинарный файлПроблема: файл скачивается, но всегда в каком-то "урезанном формате"
Подскажите почему не включаеться класс sm, если к примеру убрать md класс то sm работаетhttp://prntscr