트 리 구조 데 이 터 를 조립 하고 하위 노드 를 무 게 를 제거 합 니 다!
public class TreeNode {
private String id;
private String parentId;
private HashSet children;
public TreeNode(String id, String parentId) {
this.id = id;
this.parentId = parentId;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public HashSet getChildren() {
return children;
}
public void setChildren(HashSet children) {
this.children = children;
}
}
/**
*
* @param treeNodes
* @return
*/
public static List buildTree(List treeNodes) {
List trees = new ArrayList<>();
for (TreeNode treeNode : treeNodes) {
if ("0".equals(treeNode.getParentId())) {
trees.add(findChildren(treeNode,treeNodes));
}
}
return trees;
}
public static TreeNode findChildren(TreeNode treeNode,List treeNodes) {
for (TreeNode it : treeNodes) {
if(treeNode.getId().equals(it.getParentId())) {
if (treeNode.getChildren() == null) {
treeNode.setChildren(new HashSet());
}
treeNode.getChildren().add(findChildren(it,treeNodes));
}
}
return treeNode;
}
public static List packageData(){
TreeNode treeNode1 = new TreeNode("1","0");
TreeNode treeNode2 = new TreeNode("2","0");
TreeNode treeNode3 = new TreeNode("3","2");
TreeNode treeNode4 = new TreeNode("4","2");
TreeNode treeNode5 = new TreeNode("5","2");
TreeNode treeNode6 = new TreeNode("6","3");
TreeNode treeNode7 = new TreeNode("7","6");
TreeNode treeNode8 = new TreeNode("8","6");
TreeNode treeNode9 = new TreeNode("9","1");
TreeNode treeNode10 = new TreeNode("10","9");
TreeNode treeNode11 = new TreeNode("11","9");
TreeNode treeNode12 = new TreeNode("12","11");
List list = new ArrayList<>();
list.add(treeNode1);
list.add(treeNode2);
list.add(treeNode3);
list.add(treeNode4);
list.add(treeNode5);
list.add(treeNode6);
list.add(treeNode7);
list.add(treeNode8);
list.add(treeNode9);
list.add(treeNode10);
list.add(treeNode11);
list.add(treeNode12);
return list;
}
public static void main(String[] args) {
List treeNodes = packageData();
List treeList = TreeBuilder.buildTree(treeNodes);
}
TreeNode , List , 。 , TreeNode java , , 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
조립 트 리 구조 데이터 기능 패키지선언: 지난 블 로 그 는 실체 TreeNode 에 대해 트 리 구 조 를 조립 하 는 데 만 침 을 놓 았 기 때문에 실제 개발 에서 우 리 는 데이터 시트 에 대응 하 는 많은 실 체 를 만들어 데 이 터 를 적...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.