int
原始专业化Stream
。 以下示例说明了使用Stream
和IntStream
的聚合操作,计算红色窗口小部件的权重总和:
int sum = widgets.stream() .filter(w -> w.getColor() == RED) .mapToInt(w -> w.getWeight()) .sum();
请参阅类文档Stream
和用于包文档IntStream
可变构建器。
返回此流的所有元素是否与提供的谓词匹配。
返回此流的任何元素是否与提供的谓词匹配。
返回由此流的元素组成的
DoubleStream
,转换为
double
。
返回由此流的元素组成的
LongStream
,转换为
long
。
返回描述此流元素的算术平均值的
OptionalDouble
,如果此流为空,则返回空可选。
返回由此流的元素组成的
Stream
,每个元素都
Integer
。
返回
IntStream
的构建器。
对此流的元素执行
IntStream
。
返回由与此给定谓词匹配的此流的元素组成的流。
返回OptionalInt
描述流的一些元件,或一个空OptionalInt
如果流是空的。OptionalInt
描述此流的第一个元素,或空OptionalInt
如果流是空的。IntSupplier
生成。
返回通过将给定的
next
函数迭代应用于初始元素
IntStream
生成的顺序有序
IntStream
,条件是满足给定的
hasNext
谓词。
返回有序无限连续
IntStream
由函数的迭代应用产生
f
到初始元素
seed
,产生
Stream
组成的
seed
,
f(seed)
,
f(f(seed))
等
返回由此流的元素组成的流,截断长度不超过
maxSize
。
返回一个流,该流包含将给定函数应用于此流的元素的结果。
返回
DoubleStream
其中包含将给定函数应用于此流的元素的结果。
返回
LongStream
其中包含将给定函数应用于此流的元素的结果。
返回一个对象值
Stream
它包含将给定函数应用于此流元素的结果。
返回描述此流的最大元素的
OptionalInt
,如果此流为空,则返回空可选。
返回描述此流的最小元素的
OptionalInt
,如果此流为空,则返回空可选。
返回此流的元素是否与提供的谓词匹配。
返回包含单个元素的顺序
IntStream
。
返回其元素为指定值的顺序有序流。
返回由此流的元素组成的流,另外在每个元素上执行提供的操作,因为元素是从结果流中消耗的。
返回有序的顺序
IntStream
从
startInclusive
(含)至
endExclusive
由增量步骤(独家)
1
。
从
startInclusive
(含)到
endInclusive
(含)返回顺序有序的
IntStream
,增量步长为
1
。
使用提供的标识值和
OptionalInt
(如果有)。
在丢弃流的第一个
n
元素后,返回由此流的其余元素组成的流。
以排序顺序返回由此流的元素组成的流。
返回此流中元素的总和。
返回
IntSummaryStatistics
描述有关此流的元素的各种摘要数据。
如果对此流进行排序,则返回一个流,该流包含从此流中获取的与给定谓词匹配的最长元素前缀。
返回包含此流的元素的数组。
返回由与此给定谓词匹配的此流的元素组成的流。
这是一个
这是
Stream
它包含将给定函数应用于此流元素的结果。
这是
LongStream
其中包含将给定函数应用于此流的元素的结果。
这是一个
DoubleStream
其中包含将给定函数应用于此流的元素的结果。
这是
closed
。null
,则使用空流。)
这是一个
这是一个
这是
这是
对于并行流管道,可以在任何时间以及上游操作使元素可用的任何线程中调用该动作。 如果操作修改共享状态,则它负责提供所需的同步。
返回由此流的元素组成的流,截断长度不超过maxSize
。
这是一个
n
元素后,返回由此流的其余元素组成的流。
如果此流包含少于n
元素,则将返回空流。
这是
如果对此流进行排序,则最长前缀是与该给定谓词匹配的该流的连续元素序列。 序列的第一个元素是此流的第一个元素,紧跟在序列的最后一个元素之后的元素与给定的谓词不匹配。
如果此流是无序的,并且此流的某些(但不是所有)元素与给定谓词匹配,则此操作的行为是不确定的; 它可以自由地获取匹配元素的任何子集(包括空集)。
如果此流的所有元素与给定谓词匹配,则此流是有序还是无序,无论此操作是否接受所有元素(结果与输入相同),或者如果流的任何元素都不匹配给定谓词,则没有元素被采取(结果是一个空流)。
这是一个
如果对此流进行排序,则最长前缀是与该给定谓词匹配的该流的连续元素序列。 序列的第一个元素是此流的第一个元素,紧跟在序列的最后一个元素之后的元素与给定的谓词不匹配。
如果此流是无序的,并且此流的某些(但不是所有)元素与给定谓词匹配,则此操作的行为是不确定的; 它可以自由地删除匹配元素的任何子集(包括空集)。
如果此流的所有元素与给定谓词匹配,则该流是有序还是无序,无论该操作是否丢弃所有元素(结果是空流),或者如果流的任何元素都不匹配给定谓词,则不会丢弃任何元素(结果与输入相同)。
这是一个
这是一个
对于并行流管道,此操作并不保证尊重流的相遇顺序,因为这样做会牺牲并行的利益。 对于任何给定元素,可以在任何时间以及库选择的任何线程中执行该动作。 如果操作访问共享状态,则它负责提供所需的同步。
对此流的每个元素执行操作,确保以具有已定义的遭遇顺序的流的遭遇顺序处理每个元素。 这是一个
这是一个
int result = identity; for (int element : this stream) result = accumulator.applyAsInt(result, element) return result;
但不限于按顺序执行。
identity
值必须是累加器函数的标识。 这意味着,对于所有x
, accumulator.apply(identity, x)
等于x
。 accumulator
函数必须是
这是一个
OptionalInt
(如果有)。 boolean foundAny = false; int result = null; for (int element : this stream) { if (!foundAny) { foundAny = true; result = element; } else result = accumulator.applyAsInt(result, element); } return foundAny ? OptionalInt.of(result) : OptionalInt.empty();
但不限于按顺序执行。
accumulator
函数必须是
这是一个
ArrayList
,并且通过更新结果的状态而不是通过替换结果来合并元素。
这产生的结果相当于:
R result = supplier.get(); for (int element : this stream) accumulator.accept(result, element); return result;
与reduce(int, IntBinaryOperator)
类似 ,可以并行化collect
操作,而无需额外同步。
这是一个
return reduce(0, Integer::sum);
这是一个
OptionalInt
,如果此流为空,则返回空可选。
这是 return reduce(Integer::min);
这是一个
OptionalInt
,如果此流为空,则返回空可选。
这是 return reduce(Integer::max);
这是一个
return mapToLong(e -> 1L).sum();
这是一个
OptionalDouble
,如果此流为空,则返回空可选。
这是 这是一个
IntSummaryStatistics
描述有关此流的元素的各种摘要数据。
这是 这是一个
false
,并且不评估谓词。
这是一个
true
,并且不评估谓词。
这是一个
true
,并且不评估谓词。
这是一个
OptionalInt
描述此流的第一个元素,或空OptionalInt
如果流是空的。 这是一个
OptionalInt
描述流的一些元件,或一个空OptionalInt
如果流是空的。 这是一个
此操作的行为明确是不确定的; 可以自由选择流中的任何元素。 这是为了在并行操作中实现最大性能; 成本是同一源上的多次调用可能不会返回相同的结果。 (如果需要稳定的结果,请改用findFirst()
。 )
LongStream
,转换为long
。
这是一个
DoubleStream
,转换为double
。
这是一个
Stream
其中包含此流的元素,每个元素都Integer
。
这是一个
IntStream
的构建器。
返回空序列
IntStream
。
返回包含单个元素的顺序
IntStream
。
返回其元素为指定值的顺序有序流。
返回有序无限连续IntStream
由函数的迭代应用产生f
到初始元素seed
,产生Stream
组成的seed
, f(seed)
, f(f(seed))
等
第一元件(位置0
在) IntStream
将是提供seed
。 对于n > 0
,位置n
处的元素将是将函数f
应用于位置n - 1
处的元素的n - 1
。
施加的作用f
为一个元件f
用于随后的元件。
next
函数迭代应用于初始元素IntStream
生成的顺序有序IntStream
,条件是满足给定的hasNext
谓词。
一旦hasNext
谓词返回false,流就会终止。
IntStream.iterate
应该生成与相应的for循环生成的元素序列相同的元素:
for (int index=seed; hasNext.test(index); index = next.applyAsInt(index)) { ... }
如果hasNext
谓词不保留种子值,则结果序列可能为空。 否则,第一个元素将是提供的seed
值,下一个元素(如果存在)将是将next
函数应用于seed
值的结果,依此类推,直到hasNext
谓词指示流应终止。
将hasNext
谓词应用于元素next
函数应用于该元素的操作的操作。next
函数的操作发生在将hasNext
谓词应用于后续元素的操作之前 。 对于任何给定元素,可以在库选择的任何线程中执行动作。
IntSupplier
生成。
这适用于生成恒定流,随机元素流等。
返回有序的顺序
IntStream
从
startInclusive
(含)至
endExclusive
由增量步骤(独家)
1
。
返回有序顺序
IntStream
从
startInclusive
(含)至
endInclusive
通过的递增步长(含)
1
。
创建一个延迟连接的流,其元素是第一个流的所有元素,后跟第二个流的所有元素。
如果两个输入流都是有序的,则对所得到的流进行排序,如果任一输入流是并行的,则对其进行并行。
关闭结果流时,将调用两个输入流的关闭处理程序。
此方法对两个输入流进行操作,并将每个流绑定到其源。 结果,对输入流源的后续修改可能不会反映在级联流结果中。
变量和类型 | 接口 | 描述 |
---|---|---|
static interface |
|
IntStream 可变构建器。
|
变量和类型 | 方法 | 描述 |
---|---|---|
boolean |
|
返回此流的所有元素是否与提供的谓词匹配。
|
boolean |
|
返回此流的任何元素是否与提供的谓词匹配。
|
|
|
返回由此流的元素组成的
DoubleStream ,转换为
double 。
|
|
|
返回由此流的元素组成的
LongStream ,转换为
long 。
|
|
|
返回描述此流元素的算术平均值的
OptionalDouble ,如果此流为空,则返回空可选。
|
|
|
返回由此流的元素组成的
Stream ,每个元素都
Integer 。
|
static |
|
返回
IntStream 的构建器。
|
<R> R |
|
对此流的元素执行
|
static |
|
创建一个延迟连接的流,其元素是第一个流的所有元素,后跟第二个流的所有元素。
|
long |
|
返回此流中元素的数量。
|
|
|
返回由此流的不同元素组成的流。
|
default |
|
如果对此流进行排序,则返回在删除与给定谓词匹配的元素的最长前缀之后由该流的其余元素组成的流。
|
static |
|
返回空序列
IntStream 。
|
|
|
返回由与此给定谓词匹配的此流的元素组成的流。
|
|
|
返回 OptionalInt 描述流的一些元件,或一个空OptionalInt 如果流是空的。 |
|
|
返回 OptionalInt 描述此流的第一个元素,或空OptionalInt 如果流是空的。 |
|
|
返回一个流,该流包含将此流的每个元素替换为通过将提供的映射函数应用于每个元素而生成的映射流的内容的结果。
|
void |
|
对此流的每个元素执行操作。
|
void |
|
对此流的每个元素执行操作,确保以具有已定义的遭遇顺序的流的遭遇顺序处理每个元素。
|
static |
|
返回无限顺序无序流,其中每个元素由提供的
IntSupplier 生成。
|
static |
|
返回通过将给定的
next 函数迭代应用于初始元素
IntStream 生成的顺序有序
IntStream ,条件是满足给定的
hasNext 谓词。
|
static |
|
返回有序无限连续
IntStream 由函数的迭代应用产生
f 到初始元素
seed ,产生
Stream 组成的
seed ,
f(seed) ,
f(f(seed)) 等
|
|
|
返回由此流的元素组成的流,截断长度不超过
maxSize 。
|
|
|
返回一个流,该流包含将给定函数应用于此流的元素的结果。
|
|
|
返回
DoubleStream 其中包含将给定函数应用于此流的元素的结果。
|
|
|
返回
LongStream 其中包含将给定函数应用于此流的元素的结果。
|
<U> |
|
返回一个对象值
Stream 它包含将给定函数应用于此流元素的结果。
|
|
|
返回描述此流的最大元素的
OptionalInt ,如果此流为空,则返回空可选。
|
|
|
返回描述此流的最小元素的
OptionalInt ,如果此流为空,则返回空可选。
|
boolean |
|
返回此流的元素是否与提供的谓词匹配。
|
static |
|
返回包含单个元素的顺序
IntStream 。
|
static |
|
返回其元素为指定值的顺序有序流。
|
|
|
返回由此流的元素组成的流,另外在每个元素上执行提供的操作,因为元素是从结果流中消耗的。
|
static |
|
返回有序的顺序
IntStream 从
startInclusive (含)至
endExclusive 由增量步骤(独家)
1 。
|
static |
|
从
startInclusive (含)到
endInclusive (含)返回顺序有序的
IntStream ,增量步长为
1 。
|
int |
|
使用提供的标识值和
|
|
|
使用
OptionalInt (如果有)。
|
|
|
在丢弃流的第一个
n 元素后,返回由此流的其余元素组成的流。
|
|
|
以排序顺序返回由此流的元素组成的流。
|
int |
|
返回此流中元素的总和。
|
|
|
返回
IntSummaryStatistics 描述有关此流的元素的各种摘要数据。
|
default |
|
如果对此流进行排序,则返回一个流,该流包含从此流中获取的与给定谓词匹配的最长元素前缀。
|
int[] |
|
返回包含此流的元素的数组。
|