4969


リストを`forEach()`メソッドでラムダ式によって処理している際、`for`、`while`で使われる`continue`と同じ動作を行う方法を共有します。

[code]

    List<String> list = Arrays.asList("aaa", "bbb", "ccc", "ddd");
    
    list.stream().forEach(str -> {
        if (str.equals("ccc")) {
            // 次の要素に行きたい(continueしたい)
        }
        System.out.println(str);
    });
    
[/code]


CC BY-SA 3.0
2015-01-21T05:50:35.163
4968
2015-01-21T09:32:25.227
2015-01-21T09:32:25.227
4978
7214
question
java java8 lambda
Java8 : リストをラムダ式で処理する時の `while...continue` と同等のループ制御


ラムダ式の場合、`return`を行うことでラムダブロックを抜け、次の要素の処理に移行します。

[code]

    List<String> list = Arrays.asList("aaa", "bbb", "ccc", "ddd");
    
    list.stream().forEach(str -> {
        if (str.equals("ccc")) {
            return;
        }
        System.out.println(str);
    });
    
[/code]

**実行結果**

[code]

    aaa
    bbb
    ddd
    
[/code]


CC BY-SA 3.0
2015-01-21T05:50:35.163
4969
2015-01-21T05:50:35.163
7214
4968
answer