ようやく戻ってきたけど
目次とぶっつぶつテーマ
http://snoopopo.hatenablog.com/entry/2015/04/14/102732
今日のテーマ:Stream API 3
java.lang.Iterable インタフェースの forEach メソッド ↓
default void forEach(Consumer<? super T> action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } }
これの意味は前回まででなんとなくわかったので、ようやく次へ進む。
今回は深追いせずにStreamに用意されている便利メソッドとして よく記事にあがっているメソッドの使い方を少しだけみてく。
map と filter
List<String> names = Arrays.asList("hoge hoge", "poyo poyo", "popopopopo."); names.stream() .filter(s -> s.length() == 9) .map(s -> "[" + s + "]") .forEach(name -> System.out.println(name));
filterで条件を指定して(この場合は9文字な文字列)条件に合うstreamが帰ってきて、
mapで括弧をつけるという処理がされたstreamがまた帰ってきて、
最後にそのstreamをまわしているかんじだと思う。
streamAPIというかラムダの感覚は今までと違う、みたいな話があるけど、全然そういう感覚すらもないなー わかってないのだと思う。
ちょっとやりたくなくなってきたので、明日は違う内容をやるか。