在 Java 中打印堆栈值

2022-09-04 19:22:35

在Java中,我想打印堆栈的内容。该方法将它们封装在用逗号分隔的方括号中:。toString()[foo, bar, baz]

如何摆脱它们并仅打印变量?

到目前为止,我的代码:

Stack myStack = new Stack ();

for(int j=0; j<arrayForVar.length; j++) {
    if(arrayForVar[j][1] != null) {
        System.out.printf("%s \n", arrayForVar[j][1] + "\n");
        myStack.push(arrayForVar[j][1]);
    }
}

System.out.printf("%s \n", myStack.toString());

这个答案对我有用:

使用 Stack 上的方法,并使用 方法将方括号的所有实例替换为空白字符串。喜欢这个:toStringreplaceAll

System.out.print(
    myStack.toString().replaceAll("\\[", "").replaceAll("]", ""));

答案 1

有一个解决方法。

您可以将其转换为数组,然后使用以下命令将其打印出来:Arrays.toString(Object[])

System.out.println(Arrays.toString(myStack.toArray()));


答案 2
stack.forEach(System.out::println);

使用 Java 8 及更高版本的流函数