This commit is contained in:
Looly
2023-12-28 22:33:20 +08:00
parent a7f4e3993d
commit 5feb1114cf
2 changed files with 11 additions and 11 deletions

View File

@@ -212,7 +212,7 @@ public class StreamUtil {
/**
* <p>指定一个层级结构的根节点(通常是树或图),
* 然后获取包含根节点在内,根节点所有层级结构中的节点组成的流。<br />
* 然后获取包含根节点在内,根节点所有层级结构中的节点组成的流。<br>
* 该方法用于以平铺的方式按广度优先对图或树节点进行访问,可以使用并行流提高效率。
*
* <p>eg:
@@ -233,13 +233,13 @@ public class StreamUtil {
* @see HierarchyIterator
*/
public static <T> Stream<T> iterateHierarchies(
T root, final Function<T, Collection<T>> discoverer, Predicate<T> filter) {
final T root, final Function<T, Collection<T>> discoverer, final Predicate<T> filter) {
return ofIter(HierarchyIterator.breadthFirst(root, discoverer, filter));
}
/**
* <p>指定一个层级结构的根节点(通常是树或图),
* 然后获取包含根节点在内,根节点所有层级结构中的节点组成的流。<br />
* 然后获取包含根节点在内,根节点所有层级结构中的节点组成的流。<br>
* 该方法用于以平铺的方式按广度优先对图或树节点进行访问,可以使用并行流提高效率。
*
* <p>eg:
@@ -259,7 +259,7 @@ public class StreamUtil {
* @see HierarchyIterator
*/
public static <T> Stream<T> iterateHierarchies(
T root, final Function<T, Collection<T>> discoverer) {
final T root, final Function<T, Collection<T>> discoverer) {
return ofIter(HierarchyIterator.breadthFirst(root, discoverer));
}

View File

@@ -17,12 +17,12 @@ import java.util.stream.Collectors;
/**
* <p>用于迭代层级结构(比如树或图)的迭代器,
* 支持{@link #depthFirst 广度优先}与{@link #breadthFirst 深度优先}两种遍历模式。<br />
* 支持{@link #depthFirst 广度优先}与{@link #breadthFirst 深度优先}两种遍历模式。<br>
* 迭代器仅适用于访问层级结构,因此不支持{@link Iterator#remove}方法。
* 要构建树或者操作数,请参见{@link BeanTree}或{@link TreeUtil}。
*
* <p>该迭代器侧重于打通图或树这类数据结构与传统集合间的隔阂,
* 从而支持通过传统可迭代集合的方式对树或图中的节点进行操作。<br />
* 从而支持通过传统可迭代集合的方式对树或图中的节点进行操作。<br>
* 比如:
* <pre>{@code
* Tree root = // 构建树结构
@@ -33,8 +33,8 @@ import java.util.stream.Collectors;
* .toList();
* }</pre>
*
* @author huangchengxing
* @param <T> 元素类型
* @author huangchengxing
* @see EasyStream#iterateHierarchies
* @see StreamUtil#iterateHierarchies
*/
@@ -63,7 +63,7 @@ public abstract class HierarchyIterator<T> implements Iterator<T> {
* @param root 根节点,根节点不允许被{@code filter}过滤
* @param nextDiscoverer 下一层级节点的获取方法
* @param filter 节点过滤器,不匹配的节点与以其作为根节点的子树将将会被忽略
* @param <T> 元素类型
* @param <T> 元素类型
* @return 迭代器
*/
public static <T> HierarchyIterator<T> breadthFirst(
@@ -76,7 +76,7 @@ public abstract class HierarchyIterator<T> implements Iterator<T> {
*
* @param root 根节点,根节点不允许被{@code filter}过滤
* @param nextDiscoverer 下一层级节点的获取方法
* @param <T> 元素类型
* @param <T> 元素类型
* @return 迭代器
*/
public static <T> HierarchyIterator<T> breadthFirst(
@@ -90,7 +90,7 @@ public abstract class HierarchyIterator<T> implements Iterator<T> {
* @param root 根节点,根节点不允许被{@code filter}过滤
* @param nextDiscoverer 下一层级节点的获取方法
* @param filter 节点过滤器,不匹配的节点与以其作为根节点的子树将将会被忽略
* @param <T> 元素类型
* @param <T> 元素类型
* @return 迭代器
*/
public static <T> HierarchyIterator<T> depthFirst(
@@ -103,7 +103,7 @@ public abstract class HierarchyIterator<T> implements Iterator<T> {
*
* @param root 根节点,根节点不允许被{@code filter}过滤
* @param nextDiscoverer 下一层级节点的获取方法
* @param <T> 元素类型
* @param <T> 元素类型
* @return 迭代器
*/
public static <T> HierarchyIterator<T> depthFirst(