Фильтр ArrayList с данными в виде дерева - PullRequest
0 голосов
/ 17 октября 2019

У меня есть класс Detail.java с некоторыми свойствами id, security, description, items. Items - это ArrayList of Detail

public class Detail {

    private int id;
    private boolean security;
    private String description;
    private List<Detail> items;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public boolean isSecurity() {
        return security;
    }
    public void setSecurity(boolean security) {
        this.security = security;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public List<Detail> getItems() {
        return items;
    }
    public void setItems(List<Detail> items) {
        this.items = items;
    }
}

и этот ArrayList (древовидное представление) с моими данными

[
    {
        "id": 1,
        "security": true,
        "description": "description 1",
        "items": [
            {
                "id": 11,
                "security": true,
                "description": "description 11"
            },
            {
                "id": 12,
                "security": false,
                "description": "description 12",
                "items": [
                    {
                        "id": 121,
                        "security": true,
                        "description": "description 121"
                    },
                    {
                        "id": 122,
                        "security": false,
                        "description": "description 122"
                    }
                ]
            },
            {
                "id": 13,
                "security": true,
                "description": "description 13"
            },
            {
                "id": 14,
                "security": false,
                "description": "description 14"
            }
        ]
    },
    {
        "id": 2,
        "security": true,
        "description": "description 2",
        "items": [
            {
                "id": 21,
                "security": true,
                "description": "description 21"
            },
            {
                "id": 22,
                "security": false,
                "description": "description 22"
            },
            {
                "id": 23,
                "security": true,
                "description": "description 23"
            },
            {
                "id": 24,
                "security": false,
                "description": "description 24"
            }
        ]
    }

]

Я хочу отфильтровать или создать этот ArrayList, отфильтровывая все узлы, где находится защитаправда

Как лучше? использовать итератор? создать новый arrayList с первым и клоном объекта? Как управлять предметами?

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...