4

私はで作業しDefaultMutableTreeNodeます、そしてそれはメソッドを持っていますdepthFirstEnumeration()breadthFirstEnumeration()そしてそれはツリーノードchildren()を返します。Enumeration

返されたものを複数回使用する必要がありますが、のようEnumerationなメソッドが見つかりません。すべての要素を一度だけ取得してから、もう一度呼び出して新しいものを取得できるようですが、これは良い解決策ではないようです。reset()EnumerationdepthFirstEnumeration()Enumeration

もちろん、すべての要素を取得してEnumeration別の再利用可能な表現に変換することはできますが、実際にEnumeration複数回使用する方法はありますか?

4

1 に答える 1

6

いいえ、それはでは不可能Enumerationです。この件に関して、javadocは次のように述べています。

列挙型インターフェースを実装するオブジェクトは、一度に1つずつ一連の要素を生成します。

一度に1つずつ注意してください。つまり、をリストとして操作する場合は、Enumerationそれを変換する必要があります。を最初にリクエストしたときにリストを作成できますEnumeration。このようにして、好きなように使用および操作できます。

Enumeration e = ...
ArrayList aList = Collections.list(e);
于 2012-05-05T09:34:25.983 に答える