Java中的Stream forEachOrdered()方法及其示例

流媒体(消费者行动) 如果流具有定义的遭遇顺序,则按照流的遭遇顺序对此流的每个元素执行操作。Stream forEachOrdered(消费者行动)是一种 终端操作 i、 例如,它可能会穿过水流产生结果或副作用。

null

语法:

void forEachOrdered(Consumer<? super T> action)

Where, Consumer is a functional interface which 
is expected to operate via side-effects. and T 
is the type of stream elements.

注: 此操作一次处理一个元素,如果存在元素,则按遭遇顺序处理。对一个元素执行操作发生在对后续元素执行操作之前。

例1: 按原始顺序打印整数数组的元素。

// Java code for forEachOrdered
// (Consumer action) in Java 8
import java.util.*;
class GFG {
// Driver code
public static void main(String[] args) {
// Creating a list of Integers
List<Integer> list = Arrays.asList( 10 , 19 , 20 , 1 , 2 );
// Using forEachOrdered(Consumer action) to
// print the elements of stream in encounter order
list.stream().forEachOrdered(System.out::println);
}
}


输出:

10
19
20
1
2

例2: 按原始顺序打印字符串数组的元素。

// Java code for forEachOrdered
// (Consumer action) in Java 8
import java.util.*;
class GFG {
// Driver code
public static void main(String[] args) {
// Creating a list of Strings
List<String> list = Arrays.asList( "GFG" , "Geeks" ,
"for" , "GeeksforGeeks" );
// Using forEachOrdered(Consumer action) to
// print the elements of stream in encounter order
list.stream().forEachOrdered(System.out::println);
}
}


输出:

GFG
Geeks
for
GeeksforGeeks

例3: 按原始顺序打印字符串数组索引2处的字符。

// Java code for forEachOrdered
// (Consumer action) in Java 8
import java.util.*;
import java.util.stream.Stream;
class GFG {
// Driver code
public static void main(String[] args) {
// Creating a Stream of Strings
Stream<String> stream = Stream.of( "GFG" , "Geeks" ,
"for" , "GeeksforGeeks" );
// Using forEachOrdered(Consumer action)
stream.flatMap(str-> Stream.of(str.charAt( 2 )))
.forEachOrdered(System.out::println);
}
}


输出:

G
e
r
e

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享