Это очень показательный недостаток дизайна.
Проверьте, не можете ли вы достичь той же цели, заключив свой список в класс, поделившись с ним классом и используя его для управления доступом к списку.
Единственный случай, когда это не будет работать просто так, если два ваших класса должны изменить список независимо.
Если это требование, то, вероятно, я бы передал разные экземпляры класса-обертки каждому изменяющему классу (со ссылкой на тот же список источников), а затем нашел бы способ добавить теги для вновь добавленных данных с помощью идентификатора. ссылаясь на исходный класс - таким образом, когда вы запрашиваете, оболочка будет возвращать только непомеченные элементы (элементы, которые были частью исходного общего списка) и элементы, помеченные своим собственным идентификатором.
Либо тот, либо класс-обертка могут содержать второй список, и при запросе возвращать объединенные результаты исходного и второго списков.
Я почти никогда не хотел глубокую копию. Такое бывает, но это довольно редко.
Если вы опубликуете больше информации, возможно, мы сможем более конкретно помочь с редизайном.
ТАКЖЕ: (Изменить)
Скорее всего, список скопированных массивов не является вашей проблемой - скорее всего, он не был ИСТИННО глубокой копией. Для глубокой копии это означает, что вы реализуете метод копирования (я полагаю, что они должны называться .clone (), я никогда не использую этот материал - как я уже сказал, это плохо для juju) для каждого объекта в списке массивов, затем Вы вызываете свой метод копирования для каждого, чтобы получить новую копию в вашем следующем списке.
Кроме того, любые объекты, на которые ссылается ваш скопированный объект, вероятно, также следует клонировать. «Глубокий» означает весь путь вниз по дереву.
Я предполагаю, что вы где-то не в процессе.
Мне бы очень хотелось услышать, почему вы считаете, что вам нужна копия, а не ссылка.