This commit is contained in:
Looly
2025-07-21 11:24:00 +08:00
parent 2d8fe7b468
commit d2ed2124b6

View File

@@ -23,6 +23,7 @@ import cn.hutool.v7.core.map.MapUtil;
import cn.hutool.v7.core.tree.parser.NodeParser; import cn.hutool.v7.core.tree.parser.NodeParser;
import cn.hutool.v7.core.util.ObjUtil; import cn.hutool.v7.core.util.ObjUtil;
import java.io.Serial;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
@@ -34,6 +35,7 @@ import java.util.Map;
* @param <E> ID类型 * @param <E> ID类型
*/ */
public class TreeBuilder<E> implements Builder<MapTree<E>> { public class TreeBuilder<E> implements Builder<MapTree<E>> {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private MapTree<E> root; private MapTree<E> root;
@@ -172,7 +174,7 @@ public class TreeBuilder<E> implements Builder<MapTree<E>> {
final TreeNodeConfig config = this.root.getConfig(); final TreeNodeConfig config = this.root.getConfig();
final Iterator<T> iterator = list.iterator(); final Iterator<T> iterator = list.iterator();
return append(new Iterator<MapTree<E>>() { return append(new Iterator<>() {
@Override @Override
public boolean hasNext() { public boolean hasNext() {
return iterator.hasNext(); return iterator.hasNext();
@@ -183,7 +185,7 @@ public class TreeBuilder<E> implements Builder<MapTree<E>> {
final MapTree<E> node = new MapTree<>(config); final MapTree<E> node = new MapTree<>(config);
nodeParser.parse(iterator.next(), node); nodeParser.parse(iterator.next(), node);
if(ObjUtil.equals(node.getId(), root.getId())){ if (ObjUtil.equals(node.getId(), root.getId())) {
// issue#IAUSHR 如果指定根节点存在,直接复用 // issue#IAUSHR 如果指定根节点存在,直接复用
TreeBuilder.this.root = node; TreeBuilder.this.root = node;
return null; return null;