stream系列——初识stream
初识stream
1、对于迭代来说,包含内部迭代和外部迭代。
文章图片
外部迭代
文章图片
内部迭代 外部迭代:(程序逻辑自己控制迭代过程)
int count = 0;
Iterator iterator = allArtists.iterator();
while(iterator.hasNext()) {
Artist artist = iterator.next();
if (artist.isFrom("London")) {
count++;
}
}
【stream系列——初识stream】内部迭代:(相当于函数回调,将方法传入给java库类内部,由库内部来回调你的接口函数)
package org.java8.stream;
import java.util.ArrayList;
import java.util.Collection;
public class StreamTest {public static void main(String[] args) {
Collection allArtists = new ArrayList<>();
Artist test = new Artist();
test.setFrom("London");
allArtists.add(test);
//遍历放在内部,将方法传入到内部作为函数进行调用
long count = allArtists.stream()
.filter(artist -> artist.isFrom("London"))
.count();
System.out.println(count);
allArtists.stream()
.filter(artist ->{
System.out.println("no print");
//打印不出来,因为并没有具体的进行计算,判断计算方法是看返回的还是不是stream类型
return artist.isFrom("London");
});
}static class Artist {
String name;
String from;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isFrom(String from) {
return this.from.equalsIgnoreCase(from);
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
}
}
推荐阅读
- kubesphere|(十三)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一个高可用的zookeeper版kafka集群服务
- kubesphere|(八)从零开始搭建k8s集群——使用KubeSphere管理平台创建一个高可用的Nacos(2.0.4)集群服务
- python|【Python数据科学快速入门系列 | 01】Numpy初窥——基础概念
- 这个世界,我们还没想好!——第十一届“四方杯”全国优秀语文教师选拔大赛《一棵小桃树》教学花絮|这个世界,我们还没想好!——第十一届“四方杯
- 乱谈6——题目就叫碎碎念
- 终于等到你,还好我没放弃
- 为你写诗—063—听说
- 【小y和小绿的业余写作】长篇连载小说——虞美人(15.2)
- Linux系统|互联网最受欢迎的开源Web服务器软件——Nginx的搭建和优化
- Nginx|Nginx笔记——代理服务配置