Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 堆栈不将项推入集合_Java_Stack - Fatal编程技术网

Java 堆栈不将项推入集合

Java 堆栈不将项推入集合,java,stack,Java,Stack,我对该集合的执行情况如下: private void init(Node<K, E> root) { Node<K,E> node = root; while (node != null) { stack.push(node); node = node.getLeft(); } } private void init(节点根){ 节点=根; while(节点

我对该集合的执行情况如下:

    private void init(Node<K, E> root) {
        Node<K,E> node = root;

        while (node != null) {
            stack.push(node);
            node = node.getLeft();
        }
    }
private void init(节点根){
节点=根;
while(节点!=null){
栈推(节点);
node=node.getLeft();
}
}

然而,当它被调用和使用时,堆栈中似乎什么都没有。我已经尝试了彻底的调试,但没有任何效果,对于我实现上述组件的方式中可能出现的错误,有什么建议吗?

您已经使您的
堆栈保持不变。当您调用
push()
方法时,它实际上并没有将节点推送到堆栈上,而是返回一个新的不可变
stack
,并将该元素推送到堆栈上。调用所有修改方法(如
push
pop
)时,在行上预加
stack=
,以将新返回的堆栈分配回
stack

例如,更换

stack.push(node);


您已使您的
堆栈
不可变。当您调用
push()
方法时,它实际上并没有将节点推送到堆栈上,而是返回一个新的不可变
stack
,并将该元素推送到堆栈上。调用所有修改方法(如
push
pop
)时,在行上预加
stack=
,以将新返回的堆栈分配回
stack

例如,更换

stack.push(node);


您已使您的
堆栈
不可变。当您调用
push()
方法时,它实际上并没有将节点推送到堆栈上,而是返回一个新的不可变
stack
,并将该元素推送到堆栈上。调用所有修改方法(如
push
pop
)时,在行上预加
stack=
,以将新返回的堆栈分配回
stack

例如,更换

stack.push(node);


您已使您的
堆栈
不可变。当您调用
push()
方法时,它实际上并没有将节点推送到堆栈上,而是返回一个新的不可变
stack
,并将该元素推送到堆栈上。调用所有修改方法(如
push
pop
)时,在行上预加
stack=
,以将新返回的堆栈分配回
stack

例如,更换

stack.push(node);