java流式接口怎么实现

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 认识流
   源:流的数据来源,比如集合、数组或输入输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值