流有一个方法能让你查看每个值,同时能继续操作流。这就是peek 方法。
Set<String> nationalities= album.getMusicians().filter(artist ->
artist.getName().startsWith("The")).
map(artist -> artist.getNationality()).
peek(nation ->System.out.println("found nationality:"+nation)).
collect(Collectors.<String>toSet());
使用peek 方法还能以同样方式将输出定向到现有的日志系统中,比如log4j,java.util.loging或者slf4j中。
记录日志是peek方法的主要用途之一,还可以在peek方法中加入断点,这样就能逐个调试流中的元素了。