связать Vector
У меня есть вектор обьектов Vector[Object] parent состоящий из 10 обьектов. Я хочу создать два новых вектора обьектов v1 (добавить 5 элементов из вектора parent) и v2 (добавить остальные 5 элементов из вектора parent) и при изменении данных в v1, v2 хочу чтобы изначальный вектор parent тоже изменялся. Можно ли как-то связать их? метод .add в векторе вроде добавляет по новой обьект, не связывает
Проблема в том, что в тех двух векторах будет храниться разное кол-во обьектов, которые будут браться из вектора parent.
Изменяться будет внутренее состояние обьектов, то есть v1.course.fieldName = "something", и чтобы в parent векторе тоже value этого field-а поменялся
Ответы (1 шт):
В Java все типы кроме примитивных ссылочные. Это значит что, если у вас есть какой-то объект (не примитив), вы можете хранить на него ссылку в векторе parent и на ТОТ ЖЕ объект в векторе v1. Тогда если вы измените внутреннее состояние объекта, вы можете по ссылке вызвать ИЗМЕНЕННЫЙ объект и из вектора parent и из вектор v1.
Если же у вас в векторе parent храняться обычные примитивы, а потом вы раскидываете их по двум другим векторам, и хотите чтобы при изменении примитива это изменение отражалось в везде, то, возможно имеет смысл, подумать об иной организации данных.