データ構造:マルチツリーの確立
2738 ワード
私はこのような需要があります.地区表には中国、河北省、ケイ台市、橋東区などの多階層の地区が含まれています.全部で4つの階層があります.データベースフィールドのデザインは
id
parentId
name
vel
番号付け
父のid
地域の名前
レベル
これらのデータをレベル関係のあるjsonデータに変えたいです.明らかにデータの構造はツリーで、ツリーの構造を作ります.ノードnode.class
id
parentId
name
vel
番号付け
父のid
地域の名前
レベル
これらのデータをレベル関係のあるjsonデータに変えたいです.明らかにデータの構造はツリーで、ツリーの構造を作ります.ノードnode.class
public class Node{
public Map childs = new HashMap<>();
public String name;
public Integer id;
public Integer parentId;
}
ノードがツリーを構築し始めました.下記のコードにより説明します.私はすでにデータベースからすべてのデータアトラスを取り出してツリーを構築しました.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);
}
}
}
マルチツリー構築完了~~