public static void main(String[] args) {
List<Demo> node = new ArrayList<Demo>();
node.add(new Demo("1", "0", "吉林省", new ArrayList<Demo>()));
node.add(new Demo("2", "1", "長春市", new ArrayList<Demo>()));
node.add(new Demo("3", "1", "松原市", new ArrayList<Demo>()));
node.add(new Demo("4", "0", "遼寧省", new ArrayList<Demo>()));
node.add(new Demo("5", "4", "沈陽市", new ArrayList<Demo>()));
node.add(new Demo("6", "3", "扶余县", new ArrayList<Demo>()));
Map<String, Demo> maps = new HashMap<>();
node.forEach(e -> {
maps.put(e.getId() + "", e);
});
List<Demo> nodes = new ArrayList<Demo>();
node.forEach(e -> {
Demo demo = maps.get(e.getPid());
if (demo != null) {
maps.get(e.getPid()).getChild().add(e);
} else {
nodes.add(e);
}
});
System.out.println(nodes);
}
实体类
package javaDemo.demoTest;
import java.util.List;
public class Demo {
private String id;
private String pid;
private String name;
private List<Demo> child;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Demo> getChild() {
return child;
}
public void setChild(List<Demo> child) {
this.child = child;
}
public Demo(String id,String pid,String name,List<Demo> child) {
this.id = id;
this.pid = pid;
this.name = name;
this.child = child;
}
@Override
public String toString() {
return "Demo [id=" + id + ", pid=" + pid + ", name=" + name + ", child=" + child + "]";
}
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-43573.html