Java8函数式(二)-流
java8中对核心类库的改进,包括集合类api和新引入的流stream,流使程序员站在更高的抽象层次上对集合进行操作,接下来介绍stream类中的一组方法,每个方法都对应集合上的一种操作;
从外部迭代到内部迭代
处理集合类时,通用的模式是在集合上进行迭代,然后处理返回每一个元素,本系列以第一章中的领域模型作为例子进行代码说明:
int count = 0;
for (Artist artist : alArtist) {
if (artist.isFrom("London")) {
count++;
}
}
for循环执行原理,使用iterator产生新的iterator对象,进而控制整个迭代过程,此为外部迭代,迭代过程通过显示调用iterator独享的hasnext,next完成迭代;
int count = 0;
Iterable<Artist> iterator = allArtists.iterator();
while (iterator.hashNext()) {
Artist artist = iterator.next();
if(artist.isFrom("London")) {
count++;
}
}