我与DefaultMutableTreeNode
合作,它有方法depthFirstEnumeration()
,breadthFirstEnumeration()
和children()
,它们返回Enumeration
个树节点。
我需要多次使用返回的Enumeration
,但我在reset()
中找不到Enumeration
之类的任何方法。看起来我只能获取所有元素一次,然后再次调用depthFirstEnumeration()
以获得新的Enumeration
,这似乎不是一个好的解决方案。
当然,我可以从Enumeration
获取所有元素并将其转换为任何其他可重用的表示形式,但是有多种方法可以多次使用Enumeration
吗?
答案 0 :(得分:5)
Enumeration
无法做到这一点。关于这个主题,java doc说:
实现Enumeration接口的对象生成一个系列 元素,一次一个。
请注意一次,这意味着如果您想将Enumeration
作为列表操作,则必须转换它。
您可以在第一次请求Enumeration
时创建一个列表。这样你可以根据自己的意愿使用和操作它。
Enumeration e = ...
ArrayList aList = Collections.list(e);