Ссылка на родительский Arraylist изнутри Arraylist в Java - PullRequest
0 голосов
/ 08 июля 2011

Итак, мне было интересно, можно ли в Java отследить список массивов?Это означает, что если у меня есть что-то вроде:

Section aSection = new Section();
aMainSection.get(0).aChildSection.add(aSection);

Где 'aMainSection' и 'aChildSection' являются списками массивов раздела типа, я могу отследить обратно из 'aChildSection', чтобы получить значения, хранящиеся в его родительскомраздел «aMainSection»?Или я должен создать какой-то метод в классе раздела, который будет делать это?Спасибо за любую помощь, которая предлагается.

Ответы [ 2 ]

3 голосов
/ 08 июля 2011

Вы не можете найти все ссылки на объект из самого объекта. Вместо этого вы можете записать «родительский» объект в каждом из дочерних элементов.

Вместо того, чтобы выставлять необработанные коллекции, вы можете использовать для них собственные классы.

class ChildSection {
    private final Section parent;
    private final List<Section> sections = new ArraysList<Section>();

    public void add(Section section) {
        sections.add(section);
        section.setParent(parent);
    }
}
1 голос
/ 08 июля 2011

Нет, вы не можете отслеживать вверх с ArrayLists, вам нужно будет добавить родительские ссылки в каждый объект Section.

...