- java.lang.Object
-
- xyz.cofe.iter.TreeStep<A>
-
- Type Parameters:
A- дерево
public class TreeStep<A> extends Object
Один шаг при обходе дерева
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voideach(Consumer<A> visitor)Обход узлов пути от дочернего к корнюTreeStep<A>follow(A a)Создание шага для дочернего узлаMap<A,Integer>frequency()Получение частотности узлов в путиintgetLevel()Возвращает уровень вложенности для узлаAgetNode()Получение текущего узлаTreeStep<A>getParent()Получение родительского узлаbooleanhasCycles()Проверка на наличие циклов в путиList<A>nodeList()Получение пути ввиде спискаA[]nodePath(Class<A> nodeClass)Получение пути ввиде массива узловEterable<A>nodes()Получение пути ввиде итератора
-
-
-
Method Detail
-
getNode
public A getNode()
Получение текущего узла- Returns:
- текущий узел
-
follow
public TreeStep<A> follow(A a)
Создание шага для дочернего узла- Parameters:
a- дочерний узел- Returns:
- шаг
-
getLevel
public int getLevel()
Возвращает уровень вложенности для узла- Returns:
- 0 - корень
-
nodePath
public A[] nodePath(Class<A> nodeClass)
Получение пути ввиде массива узлов- Parameters:
nodeClass- Тип жлементов массива- Returns:
- массив узлов
-
each
public void each(Consumer<A> visitor)
Обход узлов пути от дочернего к корню- Parameters:
visitor- посититель
-
frequency
public Map<A,Integer> frequency()
Получение частотности узлов в пути- Returns:
- частотность узлов (узел / количесто сслок)
-
hasCycles
public boolean hasCycles()
Проверка на наличие циклов в пути- Returns:
- true - циклы есть
-
-