Сделайте свой собственный. Это просто. Супер супер просто:
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
на английском языке:
- Перейти к п й ребенка текущего узла, где п следующее значение в вашем пути.
- Если ребенок не существует, создайте его.
- Повторяйте до тех пор, пока не будет достигнут конец пути.
- Возврат текущего значения (необязательно)
- Задайте значение для нового значения.
Таким образом, используя это будет выглядеть примерно так:
Tree myTree = new Tree();
myTree.root = new Node();
int[] path = {0, 0, 0};
myTree.put("hi", path);
System.out.println(myTree.get(path));
И вы получите «привет» в консоли.
Вы описываете, что листья являются целыми числами, но тогда листья являются строками «(мир, 0, 0)». Должна ли она быть той или другой? – oconnor0
@ oconnor0 Я пытаюсь создать дерево объектов (которое может быть любого типа). Это можно сделать на Java, не так ли? –
Абсолютно. Просто используйте 'Object' вместо определенного типа. Я не был уверен, что вам нужно что-то более конкретное. – oconnor0