Generic tree implementation in Java
Here it comes: abstract class TreeNode implements Iterable<TreeNode> { private Set<TreeNode> children; public TreeNode() { children = new HashSet<TreeNode>(); } public boolean addChild(TreeNode n) { return children.add(n); } public boolean removeChild(TreeNode n) { return children.remove(n); } public Iterator<TreeNode> iterator() { return children.iterator(); } } I am well trusted, but haven’t tested the implementation.