У меня есть Hashmap <integer, Arraylist<Double>>
. Я хотел бы сделать его копию. Я думал об использовании метода clone
hashmap. После прохождения Javadoc, это говорит следующее:Копия листа
clone
Returns a shallow copy of this HashMap instance: the keys and values themselves are not cloned.
Что означает эта мелкая копия? Я хочу отдельную матрицу, значения которой не изменяются при обновлении значения исходной матрицы.
Кроме того, почему же,
if(hm1 == hm1.clone())
возвращает ложь?
Не является ли мелкая копия, что оригинал и копия фактически распределены по тому же адресу? Это означает, что если вы измените значение единицы, то и другое будет изменено? (для C++) – phantasmagoria
@phantasmagoria Нет, на Java это будет всего два указателя на один и тот же экземпляр. – vaughandroid
@Baqueta Хорошо, 2 указателя, указывающие на один экземпляр. Следовательно, изменение одного приведет к тому, что другое изменится на самом деле правильно? (Вы начали с «Нет», но мы говорим о том же, что и я.) – phantasmagoria