私はHashmap <integer, Arraylist<Double>>
です。私はそれをコピーしたいと思います。私はhashmapのメソッドclone
を使用することを考えていました。 javadocツールを通過した後、それ は、次の言葉:ハッシュマップのコピー
clone
Returns a shallow copy of this HashMap instance: the keys and values themselves are not cloned.
このシャローコピー手段を何?私は元の行列の値を更新しながら値が変化しない別の行列が欲しいです。
またなぜ、
if(hm1 == hm1.clone())
はfalseを返しますか?
浅いコピーでは、オリジナルとコピーが実際に同じアドレスに割り当てられていませんか?つまり、あなたが値を変更すると、もう一方も変更されますか? (for C++) – phantasmagoria
@phantasmagoriaいいえ、Javaでは、同じインスタンスへのポインタが2つだけになります。 – vaughandroid
@Baqueta Ok、2つのポインタが1つのインスタンスを指しています。したがって、1つを変更すると、もう1つは実際に正しく変更されますか? (あなたは「いいえ」で始まっていますが、私が考えているのと同じことを話しています) – phantasmagoria