Can we use Iterator to traverse JDOM/DOM tree?
No, DOM tree or JDOM Document trees are not collection classes; they are way more complicated. You cannot simply use Iterator to traverse them. More interesting thing is JDOM tree is not all built into memory, it is built on demand (lazy initialization design pattern). That is why JDOM is much faster than DOM. However, if you want to traversal the entire JDOM tree, then the advantage of JDOM over DOM disappears. Here, what we are talking about really has nothing to do with advantages or shortcomings. We are talking about using the right tool to solve the right problems. If you use a baseball bat to sew your clothes, even it has a hole at the bigger end. You know what I mean… Different tools are for different purposes. See here.