###やりたいこと
2次元配列の全要素をStreamで出力したい
---拡張for文での出力例---
java
1 //サンプルデータ 2 List<String> lines = Arrays.asList("a,b,c", "d,e,f", "g,h,i"); 3 String[][] matrix = lines.stream() 4 .map(l -> l.split(",")) 5 .toArray(String[][]::new); 6 7 //拡張for文で出力 8 for(String[] line : matrix) { 9 for(String str : line) { 10 System.out.print(str); 11 } 12 } 13 14 //出力結果 15 //abcdefghi
###やってみたこと
Stream関連のブログなどを読み漁りました
###今出来ていること
構文エラーやコンパイルエラーが消えただけで、
オブジェクトを参照?しているようなパスのような羅列が出力されてしまっています。
java
1 //steamで出力してみたい 2 IntStream.range(0, matrix.length) 3 .forEach(i -> { 4 String str = IntStream.range(0, matrix[i].length) 5 .toString(); 6 7 System.out.print(str); 8 }); 9
###出力結果
java.util.stream.IntPipeline$Head@4c873330java.util.stream.IntPipeline$Head@119d7047java.util.stream.IntPipeline$Head@776ec8df
###
###そもそも
拡張for文で出力出来てるしStreamでわざわざ出力する必要があるのか?
疑問を抱きつつも学習のためだと思いあれこれとStreamをキーワードに調べてみましたが、
これだと思う答えに辿り着けず質問させていただいております。
なので回答が拡張for文で良いという声もあると思います。
それらを含めてアドバイスでも良いのでご意見いただけると幸いです。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/07 03:17