Если вы создали свой собственный двойной связанный список, и вы поместили в этот двойной связанный список контейнеры (которые содержат элементы из вашего списка);только эти контейнеры связаны друг с другом.
Таким образом, в вашем списке будет объект A, содержащийся в A '.A 'связан с B', а B '- это контейнер, содержащий B и т. Д. И ни один из объектов не должен ссылаться на другой.
В нормальном случае эти контейнеры не будут доступны извне (толькоконтент интересный);поэтому только ваш список будет содержать ссылки на ваши контейнеры (помните, что ваш контент не знает о его контейнере).
Если вы удалите свою последнюю ссылку на свой список (список, а не контейнер и не содержимое)GC попытается собрать содержимое вашего списка, в том числе ваши контейнеры и ваше содержимое.
Поскольку ваши контейнеры недоступны за пределами единственной ссылки, которую они имеют, это друг на друга и основной список.Все это называется островком изоляции .Что касается контента, если у них все еще есть ссылки в вашем приложении, они выживут в GC, если нет, то не будут.
Поэтому, когда вы удалите свой список, будут удалены только A и B, потому что даже еслиу них все еще есть ссылки, эти ссылки являются частью острова.Если у A и B больше нет ссылок, они также будут удалены.