3

Set1 つの のすべての要素を反復処理し、次に別の のすべての要素を1Setつのループを使用して反復処理したいと考えています。Set(たまたま 2 つの s が素であることを知っているので、重複は気にしません。)

単一のループで実行したい理由は、進行状況を測定するためのコードが追加されているためです。これには、単一のループで行う必要があります。

Setこれは、2 つの s が任意に混在する可能性があるため、一般的には機能しません。

for(x <- firstSet ++ secondSet) {
   ...
}

Seqこれは機能しますが、メモリ内に3 つの中間 s を構築するため、時間とスペースの使用の点で非常に非効率的です。

for(x <- firstSet.toSeq ++ secondSet.toSeq) {
   ...
}
4

2 に答える 2

11
for(x <- firstSet.toIterator ++ secondSet.toIterator) {
   ...
}

これは中間データ構造を構築しないため、最も効率的な方法だと思います。

于 2013-06-29T08:41:56.433 に答える