关于stream

    技术2022-07-10  122

    Stream的所有操作分为两类:中间操作和结束操作 中间操作是一种标记,只有结束操作才会触发实际计算。 中间操作,分为无状态的(Stateless)和有状态的(Stateful),无状态中间操作是指元素的处理不受前面元素的影响,而有状态的中间操作必须等到所有元素处理之后才知道最终结果,比如排序是有状态操作,在读取所有元素之前并不能确定排序结果; 结束操作,分为短路操作和非短路操作,短路操作是指不用处理全部元素就可以返回结果,比如找到第一个满足条件的元素。 之所以要进行如此精细的划分,是因为底层对每一种情况的处理方式不同。 操作类型 接口方法 中间操作 concat() distinct() filter() flatMap() limit() map() peek() skip() sorted() parallel() sequential() unordered() 结束操作 allMatch() anyMatch() collect() count() findAny() findFirst() forEach() forEachOrdered() max() min() noneMatch() reduce() toArray()

    Processed: 0.020, SQL: 9