[Java] forEachでカウンタを使ってみる

Java
ループの中でカウンタ変数を使いたい。
素直にfor文を使えばいい( ´Д`)y━・~~

以上



開発しているとループを使うことが必ず出てくると思う。
従来のfor文はもう見かけない。ほぼほぼ必ずforEachで書いている。
いや、forEachで書かないといけない。
なぜかというと

今更for文を書くのはダサいから

(実際にforEachを使った方が速いとか色々あるかもしれないけど)

ただ全要素をループするだけならただ回すだけなんで何も問題ありません。

カウンタ変数がどうしても欲しいときってありますよね
(自分の実装が下手なだけかも)
forEachの中では変数を変更出来ないのでインクリメントできない・・・
詰んだ・・・
って時のやり方です
IntStream.range(0, nameList.length).forEach(index -> {
    object.setName(nameList.get(index)); 
    object.setAge(ageList.get(index));
    personList.add(object);
});
上の例としてはループを回したいList (nameList, ageList) が2つあって、各Listを回して同じインデックスの値を新たなList (personList) に追加しています。
最初に書いてある

[Java]
IntStream.range(始めるインデックス, 終わりのインデックス)
[/Java]

ここでインデックスを0から始めてListの要素数までとカウンタ変数を設定しています。
イメージとしては0~要素数(30とか)のListを作ってそれをforEachで回すという感じです。

一般的に使うのかわかりませんが、備忘録として。

コメント

タイトルとURLをコピーしました