java8 Steam实战
假定选定一组专辑,找出其中所有长度大于1分钟的曲目名称
public Set findLongTracks(List albums) {
HashSet trackNames = new HashSet();
for (Album album : albums) {
for (Track track : album.getTrackList()) {
if (track.getLength() > 60) {
String name = track.getName();
trackNames.add(name);
}
}
}
return trackNames;
}
第一步要修改的是for循环.
public Set findLongTracks(List albums) {
HashSet trackNames = new HashSet();
albums.stream()
.forEach(album->{
album.getTracks()
.forEach(track ->{
if(track.getLength()>60){
String name = track.getName();
trackNames.add(name);
}
})
});
return trackNames;
}
第二步使用Stream操作
public Set findL