gpt4 book ai didi

Java 堆栈不遵循 LIFO

转载 作者:行者123 更新时间:2023-11-30 03:41:01 26 4
gpt4 key购买 nike

为什么我的 java 堆栈在打印时不遵循 LIFO 原则?

import java.util.*;

class StackTrace
{
public static void main(String []ar)
{

Stack myStack = new Stack();
myStack.push(1);
myStack.push(2);
myStack.push(3);
myStack.push(4);

System.out.println(myStack);

Object Arr[]=myStack.toArray();
for(Object a:Arr)
System.out.println(a);
}
}

输出:

[1, 2, 3, 4]


1
2
3
4

在上面的代码中,语句System.out.println(myStack);是按顺序打印数据,而不是后进先出的方式。

为什么会这样?

上面的程序中的 toArray() 方法是如何工作的?

最佳答案

toArray 方法将按照元素插入堆栈的顺序返回元素数组。如果您需要 LIFO 中的元素,请使用 pop 方法。您可以在此处查看 Stack api,

http://docs.oracle.com/javase/6/docs/api/java/util/Stack.html

关于Java 堆栈不遵循 LIFO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26819240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com