Сделай сам. Это просто. Супер супер просто:
public class Tree{
public Node root;
}
public class Node{
public ArrayList<Node> children;
public Node parent;
public String value;
}
Теперь добавление строкового значения с последовательностью целых чисел будет сделано примерно так:
public class Tree{
public String put(String value, int[] path){
Node current = root;
for(int i=0;i<path.length;i++){
if(current.children.get(i)==null){
current.children.add(i, new Node());
}
current = current.children.get(i);
}
String ret = current.value;
current.value = value;
}
}
Получение значения будет аналогичным, за исключением того, что вы не перезапишете текущее значение заданным значением.
Описание того, что put
делает на английском языке:
- Перейдите к n th дочернему узлу текущего узла, где n - следующее значение в вашем пути.
- Если ребенка не существует, создайте его.
- Повторяйте, пока не будет достигнут конец пути.
- Возвращает текущее значение (необязательно)
- Установите новое значение.
Таким образом, использование этого будет выглядеть примерно так:
Tree myTree = new Tree();
myTree.root = new Node();
int[] path = {0, 0, 0};
myTree.put("hi", path);
System.out.println(myTree.get(path));
И вы получите "привет" в своей консоли.