for ループと for-each ループのパフォーマンスの比較
コードのパフォーマンスを最適化することは、プログラミングにおいて非常に重要です。オブジェクトのリストを反復処理する場合、開発者は通常、従来の for ループと for-each ループの使用の間のジレンマに直面します。
次の 2 つのループを考えてみましょう:
for (Object o : objectArrayList) { o.DoSomething(); }
for (int i=0; i<objectArrayList.size(); i++) { objectArrayList.get(i).DoSomething(); }
どのループのパフォーマンスが速いですか?
アイテム別Joshua Bloch 著『Effective Java』の 46 に記載されているように、2 つのループ間には目立ったパフォーマンスの違いはありません。実際、特定のシナリオでは、for-each ループの方が for ループよりわずかにパフォーマンスが優れている場合があります。
for-each ループは、反復子またはインデックス変数を隠すことによって定型コードと潜在的なエラーを排除します。 「要素内の各要素に対して e を」という構文により、コードが読みやすくなります。
さらに、ブロック氏は、for-each ループは配列インデックスの制限を 1 回だけ計算するため、潜在的なパフォーマンスが排除されると述べています。手動で作成された for ループにボトルネックが存在します。
以上がFor ループと For-Each ループ: Java での反復処理はどちらが速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。