小编Ami*_*wal的帖子

Java 8 Streams API和堆栈类

我想了解与Java 8流API一起使用时Stack类的行为。

Stack<Integer> s = new Stack<>();

s.push(1);
s.push(2);
s.push(3);
s.push(4);

s.stream().forEach( x-> System.out.print(x + " "));
Run Code Online (Sandbox Code Playgroud)

根据Stack类的约定,此代码应为print 4 3 2 1

但是,它打印1 2 3 4

基本上我想了解:

  1. 导致此行为的底层底层实施细节。

  2. 使用Stream API迭代有序集合时,其他类似的陷阱也是如此。

  3. 如果我想实现自己的Stack类,该类可以与Java 8 Streams很好地配合使用,则需要进行哪些更改?

java collections stack stream

3
推荐指数
2
解决办法
86
查看次数

标签 统计

collections ×1

java ×1

stack ×1

stream ×1