Java メモリの使用について質問があります。それは私の啓発のためであり、後でこれを検索して見つける他の人のためです! 質問の目的のために、これは単一の方法であり、範囲外のものは何もないと仮定してください...私の質問中に;-)
タイプ String の「name」という単一のプロパティを持つ 5 つの新しいオブジェクトを作成しました。ArrayList を作成し、5 つのオブジェクトを ArrayList に追加します。次に、HashMap を作成し、以前に作成した ArrayList を反復処理して、オブジェクトを HashMap に追加します。
Q1. オブジェクトを ArrayList から HashMap に追加するとき、「new」キーワードを使用していないため、別の「ポインター」のコレクションを作成しているだけだと思います。したがって、HashMap 自体を除いて、新しいメモリは消費されません (オブジェクトは複製されません)。
Q2. HashMap のオブジェクトの「name」の値を変更すると、変更後に ArrayList を反復処理すると、同じ変更が見られます。
私の理解に関する「健全性チェック」に感謝します。