使用 Java 8 集合流 API 的堆栈
我有一个每次执行它都会生成一个对象的方法,我需要反转获取它们的顺序。所以我认为这样做的自然方法是堆栈,因为它是LIFO。
但是,Java Stack似乎不能很好地与新的Java 8流API配合使用。
如果我这样做:
Stack<String> stack = new Stack<String>();
stack.push("A");
stack.push("B");
stack.push("C");
List<String> list = stack.stream().collect(Collectors.toList());
System.out.println("Collected: " + list);
我得到的输出是:
Collected: [A, B, C]
为什么不以预期的LIFO顺序将它们输出到流中?这是将所有项目从堆栈中按右(LIFO)顺序清除到列表中的正确方法吗?