Class TreeListImpl

java.lang.Object
xyz.cofe.collection.TreeListImpl

public class TreeListImpl
extends java.lang.Object
Реализация Tree с использованием List
  • Constructor Summary

    Constructors 
    Constructor Description
    TreeListImpl()  
  • Method Summary

    Modifier and Type Method Description
    static <A> void append​(java.util.List<A> nodeList, java.lang.Iterable<A> values, TripleConsumer<java.lang.Integer,​A,​A> changes)
    Добавление дочернего узла в конец списка
    static <A> void clear​(java.util.List<A> nodeList, TripleConsumer<java.lang.Integer,​A,​A> changes)
    Удаление всех дочерних узлов
    static <A> void deleteByIndex​(java.util.List<A> nodeList, java.lang.Iterable<java.lang.Integer> index, TripleConsumer<java.lang.Integer,​A,​A> changes)
    Удаление дочернего узла(ов)
    static <A> void deleteByValue​(java.util.List<A> nodeList, java.lang.Iterable<A> value, TripleConsumer<java.lang.Integer,​A,​A> changes)
    Удаление дочернего узла(ов)
    static <A> void insert​(java.util.List<A> nodeList, int index, java.lang.Iterable<A> values, TripleConsumer<java.lang.Integer,​A,​A> changes)
    Добавление дочернего узла в указанную позицию списка дочерних улов
    static <A> A node​(java.util.List<? extends A> nodeList, int index)
    Возвращает n-ый дочерний узел
    static int nodesCount​(java.util.Collection<? extends java.lang.Object> nodeList)
    Возвращает кол-во узлов в списке
    static <A> void set​(java.util.List<A> nodeList, int index, java.lang.Iterable<A> values, TripleConsumer<java.lang.Integer,​A,​A> changes)
    Замена дочернего узла

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • nodesCount

      public static int nodesCount​(java.util.Collection<? extends java.lang.Object> nodeList)
      Возвращает кол-во узлов в списке
      Parameters:
      nodeList - список узлов
      Returns:
      кол-во узлов в списке
    • node

      public static <A> A node​(java.util.List<? extends A> nodeList, int index)
      Возвращает n-ый дочерний узел
      Type Parameters:
      A - тип узла
      Parameters:
      nodeList - список узлов
      index - индекс
      Returns:
      дочерний узел
    • set

      public static <A> void set​(java.util.List<A> nodeList, int index, java.lang.Iterable<A> values, TripleConsumer<java.lang.Integer,​A,​A> changes)
      Замена дочернего узла
      Type Parameters:
      A - Тип узла
      Parameters:
      nodeList - список узлов
      index - идекс узлов которые необходимо заменить
      values - дочерние узлы
      changes - (Возможно null) Список изменений (index, oldChildNode, newChildNode)
    • insert

      public static <A> void insert​(java.util.List<A> nodeList, int index, java.lang.Iterable<A> values, TripleConsumer<java.lang.Integer,​A,​A> changes)
      Добавление дочернего узла в указанную позицию списка дочерних улов
      Type Parameters:
      A - Тип узла
      Parameters:
      nodeList - список узлов
      index - индекс (0..) позиции вставки
      values - добавляемые дочерние узлы
      changes - (Возможно null) Список изменений (index, oldChildNode=null, newChildNode)
    • append

      public static <A> void append​(java.util.List<A> nodeList, java.lang.Iterable<A> values, TripleConsumer<java.lang.Integer,​A,​A> changes)
      Добавление дочернего узла в конец списка
      Type Parameters:
      A - Тип узла
      Parameters:
      nodeList - список узлов
      values - добавляемые дочерние узлы
      changes - (Возможно null) Список изменений (index, oldChildNode=null, newChildNode)
    • deleteByIndex

      public static <A> void deleteByIndex​(java.util.List<A> nodeList, java.lang.Iterable<java.lang.Integer> index, TripleConsumer<java.lang.Integer,​A,​A> changes)
      Удаление дочернего узла(ов)
      Type Parameters:
      A - Тип узла
      Parameters:
      nodeList - список узлов
      index - иднекс дочернего элемента(ов)
      changes - (Возможно null) Список изменений (index, oldChildNode, newChildNode=null)
    • deleteByValue

      public static <A> void deleteByValue​(java.util.List<A> nodeList, java.lang.Iterable<A> value, TripleConsumer<java.lang.Integer,​A,​A> changes)
      Удаление дочернего узла(ов)
      Type Parameters:
      A - Тип узла
      Parameters:
      nodeList - список узлов
      value - дочерние удаляемые элементы
      changes - (Возможно null) Список изменений (index, oldChildNode, newChildNode=null)
    • clear

      public static <A> void clear​(java.util.List<A> nodeList, TripleConsumer<java.lang.Integer,​A,​A> changes)
      Удаление всех дочерних узлов
      Type Parameters:
      A - Тип узла
      Parameters:
      nodeList - список узлов
      changes - (Возможно null) Список изменений (index, oldChildNode, newChildNode=null)