Существует следующая структура данных:Добавить новый экземпляр класса вектора
Vector<Cluster> clustersList;
В ходе итерационного процесса я добавлять новые элементы в clustersList
.
Cluster c1 = getCluster();
clustersList.add(c1);
Проблема заключается в том, что на последней итерации первый элемент (((0)(2))
) заменяется последним ((((0)(2))((1)(6)))
), то есть:
[((0)(2))]
[((0)(2)), ((1)(6))]
[((0)(2)), ((1)(6)), ((3)(7))]
[((0)(2)), ((1)(6)), ((3)(7)), ((5)(8))]
[(((0)(2))((1)(6))), ((1)(6)), ((3)(7)), ((5)(8)), (((0)(2))((1)(6)))]
Результат должен быть:
[((0)(2))]
[((0)(2)), ((1)(6))]
[((0)(2)), ((1)(6)), ((3)(7))]
[((0)(2)), ((1)(6)), ((3)(7)), ((5)(8))]
[((0)(2)), ((1)(6)), ((3)(7)), ((5)(8)), (((0)(2))((1)(6)))]
Как я могу получить такой результат?
P.S. Я не использую идентификатор внутри кластера классов.
Вектор содержит только ссылку на объекты кластера, он не содержит фактического объекта. Так что, если где-то еще объект изменен, вы можете в конечном итоге справиться с этой ситуацией – gerrytan
@gerrytan: Итак, лучше ли использовать ArrayList в этом случае? –