问答详情
源自:4-3 Stream API

关于老师说的filter是无状态中间操作

stream().filter(xxx).map(x->x+1);

上述代码的结果显示map是对filter过滤之后的数据进度处理的,感觉这是有状态啊

是我对无状态的理解有误吗

提问者:qq_慕仰8103461 2020-03-08 18:14

个回答

  • 你是温暖
    2020-03-25 08:40:45

    Stream上的所有操作分为两类:中间操作和结束操作,中间操作只是一种标记,只有结束操作才会触发实际计算。中间操作又可以分为无状态的(Stateless)和有状态的(Stateful),无状态中间操作是指元素的处理不受前面元素的影响,而有状态的中间操作必须等到所有元素处理之后才知道最终结果