リストから文字列のセットのプレーンなリストへ

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ではないだろうが)が、何のSetJDKでの実装には、独自の提供していないtoArrayの実装を。彼らはすべての使用AbstractCollection.toArray内部要素のすべてにわたり反復します。

あなたは、アレイベースの実装や見つかった場合はSet実装を(ほぼ確実に最適ではないであろうSet、しかし)あなたは平らにできArrayList<ArraySet<String>>要素を反復することなく、配列のコピーのシリーズを使用することによって。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=314034&siteId=1