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(