无限极分类JAVA 实现—查子孙树、家谱树
无限极分类JAVA实现—查子孙树、家谱树效果展示:
文章图片
import java.util.*;
public class Test {
List data = https://www.it610.com/article/new ArrayList();
Set _search_id = new HashSet();
Set _search_pid = new HashSet();
@org.junit.Test
public void demo() {
data.add(new HashMap() {{
put("id", "1");
put("pid", "0");
put("name", "部门ID-1");
}});
data.add(new HashMap() {{
put("id", "2");
put("pid", "0");
put("name", "部门ID-2");
}});
data.add(new HashMap() {{
put("id", "3");
put("pid", "0");
put("name", "部门ID-3");
}});
data.add(new HashMap() {{
put("id", "4");
put("pid", "1");
put("name", "部门ID-1-4");
}});
data.add(new HashMap() {{
put("id", "5");
put("pid", "1");
put("name", "部门ID-1-5");
}});
data.add(new HashMap() {{
put("id", "6");
put("pid", "5");
put("name", "部门ID-5-6");
}});
data.add(new HashMap() {{
put("id", "7");
put("pid", "5");
put("name", "部门ID-5-6");
}});
data.add(new HashMap() {{
put("id", "8");
put("pid", "6");
put("name", "部门ID-5-6");
}});
Set son = search_id(data, "5");
System.out.println("找子孙" + son);
Set father = search_pid(data, "6");
System.out.println("找家谱" + father);
}//查找子孙树
public Set search_id(List data, String id) {for (int i = 0;
i < data.size();
i++) {
Object objPid = data.get(i).get("pid");
if (objPid != null) {
if (objPid.equals(id)) {
Object objId = data.get(i).get("id");
_search_id.add(objId.toString());
search_id(data, objId.toString());
}
}
}
return _search_id;
}//查找 家谱树
public Set search_pid(List data, String pid) {
for (int i = 0;
i < data.size();
i++) {
Object objPid = data.get(i).get("id");
if (objPid != null) {
if (objPid.equals(pid)) {
Object objId = data.get(i).get("pid");
_search_pid.add(objId.toString());
search_pid(data, objId.toString());
}
}
}
return _search_pid;
}
}
【无限极分类JAVA 实现—查子孙树、家谱树】
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 子龙老师语录
- 一些小日子
- 周一(十一)
- jQuery插件
- 07/22【晨读感悟】保持好奇心,生活才有无限可能
- 百度云极速下载,来体验飞的感觉,还可以看最新动漫的百度云视频哦
- 《通往财富自由之路》人生的终极问题到底是什么()
- 极简主义|极简主义 简记
- 星际无限|星际无限 | 官方推出Filecoin MinerX奖学金计划,吸引中小型Filecoin矿工