C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++およびJavaでのForeach


C ++とJavaには、foreachループと呼ばれる別のタイプのループがあります。これはCには存在しません。このループはC++11およびJavaJDK1.5.0で導入されました。このループの利点は、初期化、テスト、およびインクリメント/デクリメントを実行せずに、要素に非常に迅速にアクセスできることです。このループは、1つの配列または一部のコンテナー内のすべての要素にアクセスするために使用されます。このループはforeachと呼ばれますが、このループを示すには、「for」キーワードを使用する必要があります。構文は、通常のforおよびforeachとは異なります。

for(datatype item : Array) {
}

C++とJavaでのforeachループの例をいくつか見てみましょう。

C++の場合

#include <iostream>
using namespace std;
int main() {
   int myArr[] = { 99, 15, 67 };
   // foreach loop
   for (int ele : myArr)
      cout << ele << endl;
}

出力

99
15
67

Javaの場合

public class Test {
   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};
      for(int x : numbers ) {
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names = {"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

出力

10, 20, 30, 40, 50,
James, Larry, Tom, Lacy,

  1. C ++およびC#でのForeach

    C++でのForeach C ++ 11では、各要素をトラバースするforeachループが導入されました。これが例です- 例 #include <iostream> using namespace std; int main() {    int myArr[] = { 99, 15, 67 };    // foreach loop    for (int ele : myArr)    cout << ele << endl; } 出力 99 15 67 Foreac

  2. JavaでのCollection.stream()。forEach()とCollection.forEach()の違い

    Collection.stream()。forEach()とCollection.forEach()はどちらも、コレクションを反復処理するために使用されます。 Collection.forEach()は、コレクションのイテレータを使用します。ほとんどのコレクションでは、反復中に構造を変更することはできません。反復中に要素を追加または削除すると、すぐに同時変更例外がスローされます。 Collection.forEach()が同期されたコレクションを反復処理している場合、コレクションのセグメントをロックし、すべての呼び出しにわたって保持します。 Collection.stream()。fo