同じサイズの別の配列の作成を含む整数型配列をソートするためのプログラムを作成しました。ソート後、新しい配列は使い道がないので、完全になくしたいです。これまでのところ、特定の種類の要素の削除に関する質問しか見つかりませんでした。手助け?
情報 (必要な場合):
元の配列:A[n]
新しい配列:B[n]
B[n]
完全に削除する必要があります。
一時配列は、ソートを実行しているメソッドを離れるたびに自動的に「削除」されます (または、より正確には、占有されたメモリはガベージ コレクションの対象になります) (もちろん、一時配列がメソッド内で作成されると仮定します)。
では、明示的なメモリ割り当て解除が必要になることはほとんどありませんJava
。
配列は Java の参照型です。null
もう使用したくない場合は、配列参照を作成できます。
arr = null;
通常、gc() は参照を持たないメモリを解放します。ただし、を使用してメモリを解放することもできますarray = null
。
配列が並べ替えメソッドでローカルに定義されている場合、配列への既存の参照がないため、メソッドの終了時にガベージ コレクションがスケジュールされます。
クラス変数またはインスタンス変数の場合は、それへのすべての参照を に設定しますnull
。
Java では、メモリの解放について心配する必要はありません。free(void*)
C の stdlibや C++ のdelete[]
演算子のようなものはありません。あなたはガベージコレクターだけです。