2017-01-12 6 views
-1

次のループコードを単純なJava 8ストリームに変換するにはどうすればよいですか?ループをJava 8ストリームに変換する

List<String> headers = new ArrayList<>(); 
... 
int column = 0; 

for(String text:headers){ 
    Cell cell = header.createCell(column++); 
    cell.setCellValue(text); 
} 
+2

lambdasによってストリームを意味しますか?これはストリームに特に適していません。 –

答えて

2

ストリームは必要ありません。 AtomicIntegerIterable#forEachを使用します。

AtomicInteger column = new AtomicInteger(0); 
headers.forEach(text -> header.createCell(column.getAndIncrement()).setCellValue(text)); 

それはあなた次第です、より読みやすいのかどうか。

+0

これはリストからの注文を保存するかどうか? – jaks

+0

@jaksはい、通常のfor-eachループと同じ順序です。 [ドキュメント](https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html#forEach-java.util.function.Consumer-)で説明されているとおりです。 – 4castle

関連する問題