これは奇妙な質問です。しかし、ここに行きます。
オブジェクト X があり、配列、ハッシュテーブル、別のオブジェクト (コンテナー オブジェクト) 内に挿入されます。これは、3D 空間の点 P にある X のインスタンスを表します。
ときどき、特定の P で X を更新したくなることがあります。これは簡単です。テーブルから点 P を呼び出して、配列を直接操作します。
ここで、これらの X が Y の一部であるとしましょう。正確には、Y のフラグメントです。与えられた Y が消えるとしましょう。Y が消えれば、それに付いているすべての X も消えるはずですよね?
正確には、オブジェクト Y はモデルから概念的に削除されています。実際に削除されるかどうかは重要ではありません (たとえば、別の場所に保存される可能性があります)。ただし、顕著な点は、Y の近くにあるすべてのポイントの X をチェックする以外に、それらをハッシュテーブルから適切に削除するにはどうすればよいかということです。
- それらは配列の一部であるため、別の Y の X もそこにある可能性が高いため、指定された Y に属する X だけを削除する必要があります。
- Y に属する X のハッシュテーブル構造を検索できます。たとえば、Y が占有するすべてのポイント P を把握し、それらのコンテナーを引き出して、Y に接続されているすべての X を削除できます。
- それらを直接削除できますか? Y に X のリストがある場合、テーブルを検索する手間をかけずに、参照によってそれらを削除できますか?
これは、実際には参照全体に関する一般的な質問です。オブジェクトへの複数の参照が存在する状況が他にもあり、他の場所に移動することなく、そのオブジェクトをすばやく削除できるようにしたいと考えています。
これは、1 つの参照クラスがオブジェクトを削除する場合、そのオブジェクトは普遍的に「削除」する必要があることを意味します。他のリストのどれもそれへの参照を保持すべきではありません。