私が間違っていなければ、ArrayList には、List に追加した変数が格納されているメモリ位置の値が含まれています。したがって、ArrayList.clear() メソッドを呼び出すと、(メモリ位置の) 前述の値のみが解放され、それらのメモリ位置自体は解放されないというのが私の仮定です。これを例で説明します。
メモリの現在のステータスがあるとしましょう:
[Memory location] (type of variable) *value*
[1000] (int) 32
[1002] (int) 12
[1003] (float) 2.5
そして、それらをリスト myList に追加すると、1000、1002、1003 のメモリ位置へのポインタが含まれます。
myList.clear() を呼び出すと、ポインタは無効になりますが、メモリ位置 1000、1002、1003 には以前に指定された値が含まれています。私が間違っている?