Iteratorパターンにおいて、コレクションの内部構造が変わってもクライアント側の走査コードを変更しなくて済む理由(メリット)はどれか。

Iteratorは「集約オブジェクトの内部表現を公開せずに、その要素に順にアクセスする方法を提供する」ため、クライアントは具体的なコレクションの実装(配列かリストか等)を知る必要がない。