JAVA
package com.tsxs.tools.twodimensioncode;
import java.util.ArrayList;
import java.util.List;
public class Tree {
public static void main(String[] args) {
List<Menu> list = new ArrayList<Menu>();
Menu menu1 = new Menu(1l, 0l, “menu1”);
Menu menu2 = new Menu(2l, 1l, “menu2”);
Menu menu3 = new Menu(3l, 2l, “menu3”);
Menu menu4 = new Menu(4l, 3l, “menu4”);
Menu menu5 = new Menu(5l, 1l, “menu5”);
Menu menu6 = new Menu(6l, 3l, “menu6”);
Menu menu7 = new Menu(7l, 5l, “menu7”);
Menu menu8 = new Menu(8l, 3l, “menu8”);
Menu menu9 = new Menu(9l, 0l, “menu9”);
List<Menu> result = new ArrayList<Menu>();
list.add(menu1);
list.add(menu2);
list.add(menu3);
list.add(menu4);
list.add(menu5);
list.add(menu6);
list.add(menu7);
list.add(menu8);
list.add(menu9);
for(Menu menu : list){
Boolean flag = isAdd(menu, result);
if(!flag){
result.add(menu);
}
System.out.println(result);
}
}
private static Boolean isAdd(Menu menu, List<Menu> result) {
for(Menu temp : result){
if(temp.getId().equals(menu.getpId())){
List<Menu> childs = temp.getChilds();
if(childs == null){
childs = new ArrayList<Menu>();
temp.setChilds(childs);
}
childs.add(menu);
return true;
}
if(temp.getChilds() != null){
Boolean flag = isAdd(menu, temp.getChilds());
if(flag){
return true;
}
}
}
return false;
}
}
package com.tsxs.tools.twodimensioncode;
import java.util.List;
public class Menu {
private Long id;
private Long pId ;
private String name;
private List<Menu> childs;
public Menu(Long id, Long pId, String name) {
super();
this.id = id;
this.pId = pId;
this.name = name;
}
public Menu() {
super();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getpId() {
return pId;
}
public void setpId(Long pId) {
this.pId = pId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Menu> getChilds() {
return childs;
}
public void setChilds(List<Menu> childs) {
this.childs = childs;
}
@Override
public String toString() {
return “{\”id\”:” + id + “, \”pId\”:” + pId + “, \”name\”:\”” + name + “\”, \”childs\”:” + childs + “}”;
}
}
输入结果:
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:null}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:null}]}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:[{“id”:3, “pId”:2, “name”:”menu3″, “childs”:null}]}]}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:[{“id”:3, “pId”:2, “name”:”menu3″, “childs”:[{“id”:4, “pId”:3, “name”:”menu4″, “childs”:null}]}]}]}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:[{“id”:3, “pId”:2, “name”:”menu3″, “childs”:[{“id”:4, “pId”:3, “name”:”menu4″, “childs”:null}]}]}, {“id”:5, “pId”:1, “name”:”menu5″, “childs”:null}]}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:[{“id”:3, “pId”:2, “name”:”menu3″, “childs”:[{“id”:4, “pId”:3, “name”:”menu4″, “childs”:null}, {“id”:6, “pId”:3, “name”:”menu6″, “childs”:null}]}]}, {“id”:5, “pId”:1, “name”:”menu5″, “childs”:null}]}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:[{“id”:3, “pId”:2, “name”:”menu3″, “childs”:[{“id”:4, “pId”:3, “name”:”menu4″, “childs”:null}, {“id”:6, “pId”:3, “name”:”menu6″, “childs”:null}]}]}, {“id”:5, “pId”:1, “name”:”menu5″, “childs”:[{“id”:7, “pId”:5, “name”:”menu7″, “childs”:null}]}]}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:[{“id”:3, “pId”:2, “name”:”menu3″, “childs”:[{“id”:4, “pId”:3, “name”:”menu4″, “childs”:null}, {“id”:6, “pId”:3, “name”:”menu6″, “childs”:null}, {“id”:8, “pId”:3, “name”:”menu8″, “childs”:null}]}]}, {“id”:5, “pId”:1, “name”:”menu5″, “childs”:[{“id”:7, “pId”:5, “name”:”menu7″, “childs”:null}]}]}]
[{“id”:1, “pId”:0, “name”:”menu1″, “childs”:[{“id”:2, “pId”:1, “name”:”menu2″, “childs”:[{“id”:3, “pId”:2, “name”:”menu3″, “childs”:[{“id”:4, “pId”:3, “name”:”menu4″, “childs”:null}, {“id”:6, “pId”:3, “name”:”menu6″, “childs”:null}, {“id”:8, “pId”:3, “name”:”menu8″, “childs”:null}]}]}, {“id”:5, “pId”:1, “name”:”menu5″, “childs”:[{“id”:7, “pId”:5, “name”:”menu7″, “childs”:null}]}]}, {“id”:9, “pId”:0, “name”:”menu9″, “childs”:null}]
JS
<!doctype html>
<html>
<head>
<meta charset=”UTF-8″>
<title>Document</title>
<script type=”text/javascript”>
var list = [
{“id”:1,”pId”:0,”name”:”list1″,”childs”:[]},
{“id”:2,”pId”:1,”name”:”list2″,”childs”:[]},
{“id”:3,”pId”:2,”name”:”list3″,”childs”:[]},
{“id”:4,”pId”:3,”name”:”list4″,”childs”:[]},
{“id”:5,”pId”:1,”name”:”list5″,”childs”:[]},
{“id”:6,”pId”:3,”name”:”list6″,”childs”:[]},
{“id”:7,”pId”:5,”name”:”list7″,”childs”:[]},
{“id”:8,”pId”:3,”name”:”list8″,”childs”:[]},
{“id”:9,”pId”:4,”name”:”list9″,”childs”:[]}
];
var result = [];
function isAdd(menu, result) {
for(var j = 0; j < result.length; j++){
var temp = result[j];
if(temp.id == menu.pId){
var childs = temp.childs;
childs.push(menu);
result[j].childs = childs;
return true;
}
if(temp.childs.length > 0){
var flag = isAdd(menu, temp.childs);
if(flag){
return true;
}
}
}
return false;
}
for(var i = 0; i < list.length; i++){
var menu = list[i];
var flag = isAdd(menu, result);
if(!flag){
result.push(menu);
}
}
console.table(result);
</script>
</head>
<body>
</body>
</html>
Incredible plenty of helpful facts.
buy custom essay buy argumentative essays online
Amazing tons of awesome info.
professional custom essay writing service best essay writing service reddit
You expressed that perfectly!
write my essay 4 me hire someone to write college essay
Nicely put. Appreciate it.
importance of paying attention to detail essay
Good info. Regards.
free essay writer app write my college entrance essay
You explained this adequately.
writing college essays history essay writer
Wonderful data. Thanks!
best online casino game no deposit online casino bonus
Superb data. Appreciate it.
hire someone to write essay professional essay writers review
Seriously loads of good facts!
i need someone to write a letter for me essay for me
Nicely put, Regards!
best essay writing service review paper writing services legitimate
Wonderful stuff. Thank you!
mba application essay writing service best essay writing service yahoo