1

私はデータ構造を持っていますMap<Long,List<POJO>>。マップを反復処理する必要があり、リストごとに要素をリストに追加する必要があります。たとえば、リストに 10 個の要素がある場合、最終的には 12 個になる可能性があります。私の質問: マップを反復してそれぞれを変更するという単純な方法を使用すると、同時変更例外が発生しますList<POJO>か? 各リストのアドレスを明示的に変更しないためです。サブ質問は、配列を保持するためにより大きな連続ブロックが必要な場合、リストがそのアドレスを変更するかどうかです。

4

3 に答える 3

0

このリストは、必要に応じてサイズとメモリの場所を変更します。ArrayLists は初期容量で作成され、制限に達すると 2 倍になります。連続したメモリがない場合、アドレスは別の連続したブロックに変更され、リストが保持されます。ただし、リンクされたリストはこの方法では割り当てられません。リンクされたリストはノードにスペースを割り当て、次の参照はオブジェクトの属性として維持および保持されるため、継続的なメモリは必要ありません。

于 2013-10-15T17:36:45.347 に答える