[解決済み] forループとfor-eachループの間に性能差はありますか?
2022-04-23 16:12:42
質問
次の2つのループの性能の違いがあるとすれば、それは何ですか?
for (Object o: objectArrayList) {
o.DoSomething();
}
そして
for (int i=0; i<objectArrayList.size(); i++) {
objectArrayList.get(i).DoSomething();
}
解決方法は?
の項目46から 効果的なJava by Joshua Bloch :
で導入されたfor-eachループは リリース1.5では、雑多なものを排除するために というエラーが発生する可能性があります。 イテレータやインデックス変数を隠蔽する 完全に その結果、このイディオムは は、コレクションと 配列になります。
// The preferred idiom for iterating over collections and arrays for (Element e : elements) { doSomething(e); }
コロン(:)があったら、次のように読みます。 "中" したがって、上のループは次のように読み取れます。 "for each element e in elements." 注意 パフォーマンス・ペナルティはありません。 を使用することで、たとえ 配列になります。むしろ 通常の を使用するため、状況によっては は、配列インデックスの限界値を計算します。 を一度だけ使用します。このようなことは て(項目45)、プログラマはそうしない。 を使うことがあります。
関連
-
Enumとの組み合わせでswitchの使い方を一度覚えるために必要な定数式
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] B "の印刷が "#"の印刷より劇的に遅いのはなぜですか?
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] wait()とsleep()の違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java のエラーです。未解決のコンパイル問題 解決方法
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
Methodのinvokeメソッド実装のJavaリフレクション
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
自動配線された依存性のインジェクションに失敗しました。
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
Maven Pluginの実行がライフサイクル設定の対象外であるエラーの解決