Java8引入了流-Stream API,
1什么是流
流:java API的一个新成员,使用这个api可以简明高效的处理数据集,可以理解成遍历数据集的内部迭代器。
简明:使用声明式方查询语句来表达,无需临时编写实现代码。
高效:可以透明的进行并行处理。
使用旧例子: 对菜单中的菜品进行过滤,找出符合条件的菜肴
/**
* 菜品
*/
@Data
@AllArgsConstructor
public class Dish {
private final String name; //菜名
private final boolean vegetarian; //是否为素菜
private int calories; //菜的热量
private final Type type; //菜的类型
public enum Type{ MEAT,FISH,OTHER}
}
List<String> menuNames=menu.stream() //1:从menu获取流
.filter(d->d.getCalories()>300) //2:筛选出高热量的菜品
.map(Dish::getName) //3:使用映射获取菜品名称
.limit(3) //4:截短只取前三个符合条件的结果
.collect(Collectors.toList()); //5:结束流操作,将流保存到另外一个List中
使用上面的一句代码就可以实现这个复杂的操作。
2 认识流
源:流的数据来源,比如集合、数组或输入输出

最低0.47元/天 解锁文章
410

被折叠的 条评论
为什么被折叠?



