Verwenden Sie den Stream-Stream, um die Baumstruktur der Array-Daten rekursiv zu erstellen

  @Override
    public List<AdministrativeDivisionVo> getChildTrees() {
        AdministrativeDivision administrativeDivision = new AdministrativeDivision();
        List<AdministrativeDivision> list = administrativeDivisionMapper.selectAdministrativeDivisionList(administrativeDivision);
        List<AdministrativeDivisionVo> voList = changeToVO(list);
        return voList.stream().filter(emus -> emus.getParentAdcode() == 100000).peek(emus -> emus.setChildren(getChildless(emus, voList))).collect(Collectors.toList());
    }


    private List<?> getChildless(AdministrativeDivisionVo administrativeDivision, List<AdministrativeDivisionVo> all) {
        return all.stream().filter(emus -> Objects.equals(emus.getParentAdcode(), administrativeDivision.getAdCode()) && !emus.getParentAdcode().equals(emus.getAdCode()))
                .peek(emus -> emus.setChildren(getChildless(emus, all))).collect(Collectors.toList());
    }

Supongo que te gusta

Origin blog.csdn.net/qq_46063644/article/details/129713349
Recomendado
Clasificación