web-dev-qa-db-ja.com

Javaのforeachキーワード?

プログラミングにおけるforeachの意味と、それをいつ使用するかを知っています。 Javaにforeachキーワードはありますか?キーワードのリストを見つけようとしましたが、forしかなく、foreachはありません。

11
Shubhra

foreachはJavaキーワードではありません(IDEはそれを認識し、 " For-each "ループを配置します)。

1
aviad

私の知る限り、Javaにはforeachキーワードがありません(私が間違っていない場合はC#とは異なります)。ただし、Iterable forループの修正バージョンを使用したコレクション:

List<String> list = new ArrayList<String>();
...
for (String str : list)
{
    System.out.println(str);
}

詳細については、 this リンクを確認してください。

26
npinti

Java 1.8、Javaにはforeachループがあります...

package org.galarik.arick;

import Java.util.ArrayList;
import Java.util.List;

public class ExampleForEach {

    public static void main(String[] args) {
        List<String> strings = new ArrayList<>();
        strings.add("Mom");
        strings.add("Dad");
        strings.add("Dad's Java");
        strings.add("Mom's Java");

        // Original for loop
        int stringsSize = strings.size();
        Object[] oldStrings = strings.toArray();
        for(int stringIndex = 0; stringIndex < stringsSize; ++stringIndex ) {
            System.out.println("Original Content: " + oldStrings[stringIndex]);
        }

        // For loop, as of Jova 1.5
        for (String string : strings) {
            System.out.println("All Content: " + string);
        }

        // forEach loop as of Java 1.8
        strings.stream().forEach((string) -> {
            System.out.println("For Content: " + string);
        });

        // Using forEach loop to do a filter
        strings.parallelStream().filter(someString -> someString.contains("Java"))
                .forEach((someOtherString) -> {
                    System.out.println("Content With Java: " + someOtherString);
                });
    }
}
6
A. Rick

いいえ。「foreach」を実行するには、for( Type variable : collection ){ .... }と記述します。

(はい、Collectionである必要はなく、Iterableまたは配列である必要はありません。明確に記述しようとしています)

3

いいえ、foreachのようなキーワードはありません。そして、コーディングの便宜のためだけに、拡張されたforループが追加されたことを追加したかっただけです。コンパイラはそれを古いJava形式に戻します。次のようになります:

    List<String> list = new ArrayList<String>();
    for (String str : list)
    {
        System.out.println(str);
    }

に変換されます:

    List list = new ArrayList();
    String str;
    for(Iterator iterator = list.iterator(); iterator.hasNext(); System.out.println(str))
    {
        str = (String)iterator.next();
    }
3
AKS

番号。 foreachはJavaのキーワードではありません。

foreachループは、配列またはコレクションを反復処理するための単純な構文であり、Java.lang.Iterableインターフェイスを実装します。

Java言語では、forキーワードと:演算子を使用してforeachループを作成します。

// Java example
String[] oddBalls = {"one", "three", "five", "seven"};

for (String currentBall : oddBalls)
{
   System.out.println (currentBall + " is an odd number.");
}

基本的なforループがJava 5で拡張され、配列やその他のコレクションの反復がより便利になりました。この新しいforステートメントはenhanced forまたはforeachと呼ばれます。

2
Frankline

JavaにはC#のようなforeachキーワードがありません。foreachin Javaを使用すると、エラーが表示されます。foreach、以下のように実装する必要があります。

//sample Java Code
List<WebElement> radioButtons = driver.findElements(By.name("color"));

for(WebElement  radioButton : radioButtons)
    {
        if(radioButton.isSelected())
        {
            System.out.println(radioButton.getAttribute("value"));      
        }
    }

ここにWeb要素のリストがあります-ラジオボタンと特定の条件について各要素をチェックしています。ここではforJavaキーワードと:演算子を使用しています。

C#の場合、以下のような同じシナリオを実装できます。

//C# code Sample
foreach(WebElement radioButton in  radioButtons)
{
  //implementation comes here 
}
0
AHAMED AAQIB