コレクションクラスで基本的なものは知っていても、気づかないクラスもある。
CopyOnWriteArrayListは、編集時にコピーを作成し、そのコピーに対して編集をするため、マルチスレッド状況下で編集と、読み取りが同時に起こりうる場合に用いるとよい。
(シングルスレッドのときは無意味)
Iteratorを取得したときの状態がコピーとして保持されているので、Iterationの最中に要素の追加、削除があっても、既存の配列には影響を与えない。
コレクションクラスで基本的なものは知っていても、気づかないクラスもある。
CopyOnWriteArrayListは、編集時にコピーを作成し、そのコピーに対して編集をするため、マルチスレッド状況下で編集と、読み取りが同時に起こりうる場合に用いるとよい。
(シングルスレッドのときは無意味)
Iteratorを取得したときの状態がコピーとして保持されているので、Iterationの最中に要素の追加、削除があっても、既存の配列には影響を与えない。