У меня есть HashMap
, который содержит List<Dto>
и List<List<String>>
:
Map<List<Dto>, List<List<String>>> mapData = new HashMap();
и Arraylist<Dto>
.
Я хочу перебрать эту карту, получитьkeys-key1, key2 и т. д., извлеките из него значение и установите его для объекта Dto, а затем добавьте его в список.Так что я могу успешно выполнять итерации с помощью foreach и добавлять его в списки, но не могу правильно выполнить его с помощью Java 8. Поэтому мне нужна помощь в этом.Вот пример кода
List<DTO> dtoList = new ArrayList();
DTO dto = new DTO();
mapData.entrySet().stream().filter(e->{
if(e.getKey().equals("key1")){
dto.setKey1(e.getValue())
}
if(e.getKey().equals("key2")){
dto.setKey2(e.getValue())
}
});
Здесь e.getValue()
от List<List<String>>()
, поэтому первое, что мне нужно, это перебрать его, чтобы установить значение.Во-вторых, мне нужно добавить dto в Arraylist dtoList.Итак, как этого добиться.
Базовый фрагмент, который я пробовал, не добавляя в HashMap, где List имеет ключи, multiList имеет значения, а Dto list - то, где я наконец добавляю в
for(List<Dto> dtoList: column) {
if ("Key1".equalsIgnoreCase(column.getName())) {
index = dtoList.indexOf(column);
}
}
for(List<String> listoflists: multiList) {
if(listoflists.contains(index)) {
for(String s: listoflists) {
dto.setKey1(s);
}
dtoList.add(dto);
}
}