OutOfMemoryErrorが発生:
変換する方法があるList<Set<String>> mainList
要素を反復することなく、プレーンなリストには?
例えば、この1は値があります。
mainList = {ArrayList@705} size = 2
0 = {HashSet@708} size = 3
0 = "A2"
1 = "A1"
2 = "A3"
1 = {HashSet@709} size = 3
0 = "A6"
1 = "A5"
2 = "A7"
私はそうのような新しいリストを持っているしたいと思います:
list = A2,A1,A3, A6, A5, A7
マイケル:
あなたがすることはできません。通常、コピーする唯一の方法はn
、物事は、それらのそれぞれを反復処理することです。
要素を反復を回避する唯一の方法は、配列のコピーのような低レベルの操作であろう。
ArrayList
この(他の人のように行うだろうLinkedList
ではないだろうが)が、何のSet
JDKでの実装には、独自の提供していないtoArray
の実装を。彼らはすべての使用AbstractCollection.toArray
内部要素のすべてにわたり反復します。
あなたは、アレイベースの実装や見つかった場合はSet
実装を(ほぼ確実に最適ではないであろうSet
、しかし)あなたは平らにできArrayList<ArraySet<String>>
要素を反復することなく、配列のコピーのシリーズを使用することによって。