/** * 构造树形结构 * @param resourceList * @return */ public List<RResource> buildResourceTreeInfo(List<RResource> resourceList) { List<RResource> result = new ArrayList<>(); Map<String,RResource> record = new HashMap<>(); for (RResource resource : resourceList) { if (RResource.TOP_LEVEL_NODE.equals(resource.getParentId())) {//TOP_LEVEL_NODE=0 resource.setChildren(new ArrayList<>()); result.add(resource); } record.put(resource.getId(), resource); } for (RResource resource : resourceList) { if (StringUtils.isNotBlank(resource.getParentId()) &&!RResource.TOP_LEVEL_NODE.equals(resource.getParentId())) {//TOP_LEVEL_NODE=0 RResource parent = record.get(resource.getParentId()); if (parent != null) { parent.getChildren().add(resource); } } } return result; }
树形结构构造示例代码
最新推荐文章于 2024-07-13 13:55:40 发布