Я пытаюсь отфильтровать оригинальную карту, сравнивая ее с картой условий, в которой есть только наборы ключей с идентификатором. Основываясь на карте условий, я хочу отфильтровать от исходной карты.
Оригинальная карта, которая у меня есть,
Map<Integer, AppFeatureDTO> appFeatureMap = new TreeMap<>();
, что приведет к,
{
"101": {
"id": 101,
"subFeature": {
"1": {
"id": 1,
"title": "Title Value",
"desc": "Description Value"
}
}
},
"102": {
"id": 102,
"subFeature": {
"1": {
"id": 1,
"title": "Title Value",
"desc": "Description Value"
}
}
},
"103": {
"id": 103,
"subFeature": {
"1": {
"id": 1,
"title": "Title Value",
"desc": "Description Value"
},
"2": {
"id": 2,
"title": "Title Value",
"desc": "Description Value"
},
"3": {
"id": 3,
"title": "Title Value",
"desc": "Description Value"
},
"4": {
"id": 4,
"title": "Title Value",
"desc": "Description Value"
}
}
}
}
и соответствующие классы:
class AppFeatureDTO {
private int id;
private Map<Integer, AppSubFeatureDTO> subFeature;
}
class AppSubFeatureDTO{
private int id;
private String title;
private String description;
}
тогда у меня есть карта фильтра,
Map<Integer, FeatureDTO> conditionFilterMap = new TreeMap<>();
который в результате, как,
{
"101": {
"id": 101,
"subFeature": {
"1": {
"id": 1,
}
}
},
"103": {
"id": 103,
"subFeature": {
"2": {
"id": 2
},
"4": {
"id": 4
}
}
}
}
соответствующие классы для карты фильтра:
class FeatureDTO {
private int id;
private Map<Integer, SubFeatureDTO> subFeature;
}
class SubFeatureDTO{
private int id;
}
Я хочу отфильтровать карту результатов с помощью условия conditionFilterMap,
{
"101": {
"id": 101,
"subFeature": {
"1": {
"id": 1,
"title": "Title Value",
"desc": "Description Value"
}
}
},
"103": {
"id": 103,
"subFeature": {
"2": {
"id": 2,
"title": "Title Value",
"desc": "Description Value"
},
"4": {
"id": 4,
"title": "Title Value",
"desc": "Description Value"
}
}
}
}
Я использую Spring ModelMapper для копирования AppFeatureDTO
в FeatureDTO
. Но, отфильтровав карту, я не понял.
Не могли бы вы подсказать, как получить resultMap
с помощью Java 8?
Даже я не мог представить себе простое решение с использованием Java 7 или 6.