2012-01-03 7 views

答えて

7

この方法は、すべての父親の一種であるGenTraversableOnceに定義されています。その中にはすべてIteratorがあり、これは一度しかトラバースできません。それ以外は何度もトラバース可能であると予想されます。もちろん、GenTraversableOnceまたはTraversableOnceまで上に移動し、それを一度だけトラバース可能なものでサブクラス化することもできます。

GenTraversableLikeで宣言されたメソッドは、コレクションを複数回トラバースできることに依存しています。

+0

ah ...リストからisTraversableAgainをトレースし、線形化によってGenTraversableLikeにアクセスし、元のソースGenTraversableOnceを見逃します。ダニエルありがとう。 –

+0

メソッドであるという事実は、実行時に呼び出すことができ、その結果に基づいてコレクションを処理する方法を決定することを意味する可能性があります。私はそれが不可能ではないと思うが、どんな状況になるか想像するのは困っている。 – Owen

+1

@Owen 'grep'? 'toArray'メソッドは、それを使ってコレクション全体を最初に中間コレクション(falseの場合)にコピーするか、サイズを呼び出して配列を初期化してコレクションをコピーするかを決定します。 –

関連する問題