我正在处理数据库上的一张表。列是:id、name、parent_id(parent_id 将是表上的 id。如果 parent_id 为空,则记录是父记录。)
通过递归循环中的递归循环复制和创建相同记录的最佳方法是什么,这样我就可以创建相同的树结构:
- 物品
- 项目1
- 项目 1.1
- 项目 1.1.1
- 项目 1.1.2
- 项目 1.2
- 项目 1.1
- 第 2 项
- 第 2.1 项
- 项目 2.1.1
- 第 2.2 项
- 第 2.1 项
- 第 3 项
- 项目1
等等,就像第n级。
我正在处理数据库上的一张表。列是:id、name、parent_id(parent_id 将是表上的 id。如果 parent_id 为空,则记录是父记录。)
通过递归循环中的递归循环复制和创建相同记录的最佳方法是什么,这样我就可以创建相同的树结构:
等等,就像第n级。
你不需要使用递归,如果你不使用,代码会更清晰。
首先,结果集需要按id
and排序,然后您只需使用 a作为索引parent_id
遍历结果集,如下所示:java.util.Map
Map<Object, Item> items = new HashMap<Object, Item>();
if (resultSet.next())
{
Item root = createItem(resultSet);
items.put(root.getId(), root);
while (resultSet.next())
{
Item item = createItem(resultSet);
items.put(item.getId(), item);
Item parent = items.get(item.getParentId());
if (parent != null)
{
parent.addChild(item);
}
else
{
...
}
}
return root;
}
else
{
...
}