public class Trees
extends java.lang.Object
ITree utilities in an iterative tree traversal (no recursion) and
continuation approach (minimal memory usage).| Modifier and Type | Class and Description |
|---|---|
static interface |
Trees.ITreeFunction<T,R> |
static class |
Trees.Traversal<T,U> |
| Modifier and Type | Method and Description |
|---|---|
static <T extends ITree<T>> |
distance(T root,
T leaf) |
static <T extends ITree<T>> |
find(T tree,
java.util.function.Predicate<T> visitor) |
static <V> Tree<V> |
findValue(Tree<V> tree,
V value)
Find a
ITree using it's value and the == comparator |
static int |
indexOfChild(ITree<?> parent,
ITree<?> child) |
static <T extends ITree<T>> |
isParentOf(T parent,
T child) |
static <V> java.lang.Iterable<Tree<V>> |
leafs(Tree<V> tree) |
static <T extends ITree<T>> |
list(T tree)
Pre-order tree listing
|
static <T extends ITree<T>> |
list(T tree,
boolean includeTree)
Pre-order tree listing
|
static <T extends ITree<T>> |
listFilter(T tree,
java.util.function.Predicate<T> filter)
Pre-order tree listing
|
static <T extends ITree<T>> |
listUp(T tree)
Post-order (deep first) tree listing
|
static <V> java.lang.Iterable<V> |
listValues(Tree<V> tree) |
static <V> java.lang.Iterable<V> |
listValues(Tree<V> tree,
boolean includeRoot) |
static <T extends ITree<T>,U extends ITree<U>> |
map(T tree,
java.util.function.Function<T,U> mapper)
Map a ITree
|
static <T extends ITree<T>,U extends ITree<U>> |
mapFilter(T tree,
java.util.function.Function<T,U> converter,
java.util.function.Predicate<T> filter)
Convert a ITree
|
static <T extends ITree<T>> |
pathFrom(T from,
T to) |
static <T extends ITree<T>> |
visit(T tree,
java.util.function.Predicate<T> visitor) |
static <T extends ITree<T>,U> |
visit(T tree,
U u,
java.util.function.BiFunction<T,U,U> visitor) |
static <T extends ITree<T>> |
visitIgnoreRoot(T tree,
java.util.function.Predicate<? extends T> visitor) |
public static final <T extends ITree<T>> void visit(T tree, java.util.function.Predicate<T> visitor)
public static final <T extends ITree<T>> void visitIgnoreRoot(T tree, java.util.function.Predicate<? extends T> visitor)
public static final <T extends ITree<T>,U> void visit(T tree, U u, java.util.function.BiFunction<T,U,U> visitor)
public static final <T extends ITree<T>> java.lang.Iterable<T> list(T tree)
public static final <T extends ITree<T>> java.lang.Iterable<T> list(T tree, boolean includeTree)
public static final <T extends ITree<T>> java.lang.Iterable<T> listFilter(T tree, java.util.function.Predicate<T> filter)
filter - return true to select the visited element in the returned listITree nodespublic static final <T extends ITree<T>> java.lang.Iterable<T> listUp(T tree)
Iterable over all nodes of the specified ITreepublic static final <V> java.lang.Iterable<V> listValues(Tree<V> tree)
filter - return true to select the visited element in the returned listITree nodespublic static final <V> java.lang.Iterable<V> listValues(Tree<V> tree, boolean includeRoot)
public static final <T extends ITree<T>,U extends ITree<U>> U map(T tree, java.util.function.Function<T,U> mapper)
public static final <T extends ITree<T>,U extends ITree<U>> U mapFilter(T tree, java.util.function.Function<T,U> converter, java.util.function.Predicate<T> filter)
converter - a Function to map R to a T objectpublic static final <T extends ITree<T>> T find(T tree, java.util.function.Predicate<T> visitor)
visitor - returning true when the value is foundpublic static final <V> Tree<V> findValue(Tree<V> tree, V value)
ITree using it's value and the == comparatorvalue - ITree containing the specified objectpublic static final <T extends ITree<T>> int distance(T root, T leaf)
public static final <T extends ITree<T>> boolean isParentOf(T parent, T child)
Bonzai Engine 1.4.1-20200831 - A Java OpenGL engine and tools for Windows/Mac/Linux/Android
Copyright © 2007-2019 Jérôme Jouvie bonzaiengine.com contact@bonzaiengine.com