У меня есть один объект с этой структурой:
@JsonProperty("id")
private Long codigoCategoria;
@JsonProperty("parentId")
private Long codigoCategoriaPai;
@JsonProperty("name")
private String nomeCategoria;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private ComissaoPadraoEntity comissao;
@JsonProperty("categories")
private List<CategoriaDTO> subCategorias;
Как вы видите, у него есть список его собственного типа, мне нужно сопоставить эти категории с картой <Long,List<Long>>
.Где ключ - codigoCategoria, а значение должно быть List of Long с codigoCategoria внутри подкатегорий.
Это структура полезной нагрузки:
{
"categories": [
{
"id": "1813",
"parentId": null,
"name": "Malas e Mochilas",
"items": 12,
"categories": [
{
"id": "1827",
"parentId": "1813",
"name": "Conjuntos de Malas",
"items": 0,
"categories": [
],
"attributes": null
},
{
"id": "1830",
"parentId": "1813",
"name": "Mochilas",
"items": 4,
"categories": [
{
"id": "1831",
"parentId": "1830",
"name": "Mochila Esportiva",
"items": 0,
"categories": [
],
. До сих пор меня пыталисьмного разных способов, вот код, который я сделал, но даже не компилирует:
private Map<Long, List<Long>> mapATreeofCategories() {
List<CategoriaDTO> categories = getAll();
Map<Long, List<Long>> treeCategories = categories.forEach(categoriaDTO -> {
categories.stream()
.collect(Collectors.toMap(categoriaDTO.getCodigoCategoria(),
categoriaDTO.getSubCategorias().forEach(categoriaDTO1 -> categoriaDTO1.getCodigoCategoria())));
});
return treeCategories;
}
Спасибо за любую помощь, ребята.