私は独自のバージョンの ArrayList をコーディングしようとしています (それがどのように機能するかを学ぶため)。 java.lang.ArrayListによって実装されているCloneableインターフェースを見ていました(元のバージョンと同じ契約を維持したいと思います)。
clone() メソッドの定義に少し混乱しており、誰かが私の場合にそれを明確にしてくれることを願っています。
私が本当に確信していない部分は、誰かが私のコレクションで clone() メソッドを使用した場合、新しい ArrayList を返す必要があるということです (つまり、既存のものへの参照ではありません)。でも:
- 含まれている各オブジェクトも複製する必要があるということですか?
- それらのそれぞれに対して「new」を使用して明示的に新しいインスタンスを作成する必要がありますか (これは非常に遅いはずですか?)
- コレクションのオブジェクトで clone() メソッドを使用しようとする必要がありますか? Cloneable の定義では明示的に必要ではない (メソッドはインターフェイスにありません) ため、それらが clone() メソッドをオーバーライドしていることを確認するにはどうすればよいですか?
助けてくれてありがとう。