興味深いジレンマがあります。
FileCabinet という名前のクラスがあるとしましょう。
FileCabinet は、「filesInCabinet」と呼ばれるファイルの LinkedList を格納します。
各ファイル内には、「relatedFiles」と呼ばれるさらに別のファイルの LinkedList があります。
たとえば、次のようになります。
ファイルキャビネット1
- ファイル1
- ファイル3
- ファイル2
- ファイル3
- ファイル4
- ファイル3
- ファイル1
- ファイル2
- ファイル4
- ファイル2
私が抱えている問題は、ネストされたリスト(「relatedFiles」)にファイルの個別のインスタンスが含まれているため、実際には次のようになります。
ファイルキャビネット1
- ファイル1
- File3_duplicate
- ファイル2
- File3_duplicate2
- File4_duplicate
- ファイル3
- File1_duplicate
- File2_duplicate
- ファイル4
- File2_duplicate2
これにより、ネストされたリストのいずれかでファイルのプロパティを変更するときに、実際のファイルのプロパティも変更したいのですが、複製のプロパティのみが変更されます。
ネストされたリスト内のファイルを、ネストされていないファイルのリストに「一致させる」ことができる効率的な方法はありますか? 各ファイルには一意の文字列、整数なども含まれているため、複製がどのファイルのクローンであるかを簡単に判断できます。