ループ処理の書き方[Java]
Javaでループ処理を書くとき、どの書き方を使おうか迷った為、メモ
ループ処理の種類
命令型
- for文
for (int i = 0; i < somethings.size(); i++) { doSomething(); }
- 拡張for文
for (Something something : somethings) { doSomething();
関数型
- forEach
somethings.forEach(something -> doSomething());
- stream
somethings.stream().map(something -> doSomething()).collect(Collectors.toList);
感想
- for文:カウンタ使いたい
- 拡張for文:カウンタ使いたい
- forEach:型の宣言がいらない分、拡張forより優秀
- stream:filter()などの中間操作が目的と一致していればコードを減らせる
特に理由がなければ、関数型の記述を心がけたい。