데이터 구조: 다 진 트 리 의 구축

2874 단어 데이터 구조
저 는 이런 수요 가 있 습 니 다. 지역 표 입 니 다. 지역 표 에는 여러 등급 의 지역 이 포함 되 어 있 습 니 다. 예 를 들 어 중국, 하북성, 형 대시, 교 동구 등 이 있 습 니 다.모두 4 개의 등급 이 있다.데이터베이스 필드
id
parentId
name
level
번호
아버지 id
지역
등급.
나 는 이러한 데 이 터 를 등급 관계 가 있 는 json 데이터 로 바 꾸 려 고 한다. 데이터 의 구 조 는 나무 임 이 분명 하기 때문에 나무의 구 조 를 구축 해 야 한다. 노드 node. class
 public class Node{
        public Map childs = new HashMap<>();
        public String name;
        public Integer id;
        public Integer parentId;
    }

노드 가 있 으 면 트 리 를 구축 하기 시작 합 니 다. 다음 코드 는 데이터베이스 에서 모든 데이터 attrAreas 를 가 져 와 트 리 를 구축 하 였 습 니 다.
public void local(List attrAreas){
    //     
    Node root=new Node();
    Map maps= new HashMap<>();
    //      ,       map 
    for(ModelAttrArea temp:attrAreas) {
        Node node = new Node();
        node.name = temp.getName();
        node.id = temp.getID();
        node.parentId = temp.getParentId();
        maps.put(temp.getID(),node);
    }
    //         map,               ,        ,     ,           。
    for (Map.Entry entry : maps.entrySet()) {
        Node e=entry.getValue();
        Integer parentId = e.parentId;
        if(parentId==null){
            root.childs.put(e.id, e);
        }else{
            Node pnode = maps.get(parentId);
            pnode.childs.put(e.id,e);
        }
    }
}

다 진 트 리 구축 완료 ~

좋은 웹페이지 즐겨찾기