Mewakili pokok dalam Java boleh dicapai menggunakan kelas perpustakaan Java standard. Untuk memenuhi keperluan khusus anda di mana nod mempunyai bilangan kanak-kanak sewenang-wenangnya dan kedua-dua nod dan kanak-kanak mempunyai nilai rentetan, anda boleh mempertimbangkan penyelesaian berikut.
Memandangkan tiada perpustakaan Java yang dipratentukan untuk pokok dengan kanak-kanak sewenang-wenangnya, anda boleh menentukan struktur pokok tersuai:
public class Tree<T> { private Node<T> root; public Tree(T rootData) { root = new Node<>(); root.data = rootData; root.children = new ArrayList<>(); } public static class Node<T> { private T data; private Node<T> parent; private List<Node<T>> children; } }
Struktur pokok asas ini membolehkan anda mewakili nod dan nilai rentetannya.
Untuk mendapatkan kanak-kanak dan nilai rentetan mereka untuk nod tertentu, anda boleh menambah kaedah pembantu pada kelas Nod:
public List<String> getChildrenStrings() { List<String> childStrings = new ArrayList<>(); for (Node<T> child : children) { childStrings.add(child.data); } return childStrings; }
Untuk menggunakan struktur pokok ini, anda boleh mencipta pokok dengan akar nod:
Tree<String> myTree = new Tree<>("Root");
Anda kemudian boleh menambah nod anak pada akar:
myTree.root.addChild("Child 1"); myTree.root.addChild("Child 2");
Untuk mendapatkan semula rentetan kanak-kanak untuk nod yang diberikan, anda boleh menggunakan:
List<String> childStrings = myTree.root.getChildrenStrings();
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Struktur Data Pokok dengan Nod Anak Arbitrari di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!