stream流将集合转换为树形

stream流将集合转换为树形

    public static void main(String[] args) {
        {
            List<Platform> platformList = Lists.newArrayList();
            Platform platform0 = new Platform(1L,"001",0L,"集团");
            Platform platform1 = new Platform(2L,"QYPT001",1L,"销委会");
            Platform platform2 = new Platform(3L,"QYPT002",2L,"吉龙大区");
            Platform platform3 = new Platform(4L,"QYPT003",2L,"江苏大区");
            Platform platform4 = new Platform(5L,"QYPT004",4L,"南京分区");

            Platform platform5 = new Platform(6L,"QYPT005",1L,"教育BG");
            Platform platform6 = new Platform(7L,"QYPT006",6L,"华南大区");
            Platform platform7 = new Platform(8L,"QYPT007",6L,"华东大区");

            platformList.add(platform0);
            platformList.add(platform1);
            platformList.add(platform2);
            platformList.add(platform3);
            platformList.add(platform4);
            platformList.add(platform5);
            platformList.add(platform6);
            platformList.add(platform7);

            Map<Long, List<Platform>> groupMap = platformList.stream().collect(Collectors.groupingBy(Platform::getParentId));
            platformList.forEach(platform -> platform.setChildren(groupMap.get(platform.getId())));
            List<Platform> collect = platformList.stream()
                    .filter(platform -> platform.getParentId().equals(0L)).collect(Collectors.toList());
            System.out.println(JSONObject.toJSON(collect));
        }
    }

猜你喜欢

转载自blog.csdn.net/u013008898/article/details/120245473