【写在前面】:按自己思路写的,技术有限,仅供分享学习使用
【题目】
转换前格式:
1. public static void main(String[] args) {
2. List<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();
3. list.add(add("01","0","中国"));
4. list.add(add("02","01","广东省"));
5. list.add(add("03","02","广州市"));
6. list.add(add("04","02","佛山市"));
7. list.add(add("05","03","黄埔区"));
8. list.add(add("06","03","天河区"));
9. list.add(add("07","06","天河街道1"));
10. list.add(add("08","06","天河街道2"));
11. List rlist = listToTree(list,"id","pid");
12. System.out.println(rlist);
13. }
14. public static HashMap<String,Object>add(final String id, final String pid, final String name){
15. return new HashMap<String, Object>(){
{
16. put("id",id);//编码
17. put("pid",pid);//父级编码,编码为0是顶级编码
18. put("name",name);//城市名称
19. put("level",-1);//级次,该元素在树型结构是第几层的元素
20. put("children",null);//子元素
21. }};
}
转换后格式
[{level=1, children=[{level=1, children=[{level=2, children=[{level=0, children=[], name=黄埔区, pid=03, id=05}, {level=3, children=[{level=0, children=[