コレクションを取得するための foreach 引数としてメソッド呼び出しを使用した場合のパフォーマンスについて疑問があります。例を見てみましょう:
for (Entry<K, V> entry : map.entrySet()) {
doing.stuff();
}
JVM は、ループを開始する前に一度だけ map.entrySet() を呼び出し、最初の要素を取得し、イテレータを取得してそれを反復処理し、 map.entrySet() を二度と呼び出さないか、ローカルで作成された配列を反復処理するだけだと思いますintイテレータ(またはそのようなsth)ですが、JVMの仕組みがわからないので、確認したいのですが、このように機能しますか、またはループの前にコレクションを保存してローカル変数として渡す方が良いですループ内のゲッター?