Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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_Netbeans 7 - Fatal编程技术网

从堆栈读取最后一个值(java)

从堆栈读取最后一个值(java),java,stack,netbeans-7,Java,Stack,Netbeans 7,我为存储值创建了堆栈,如下所示。我需要从堆栈中读取最后一个值,而不使用“stack.pop” 类Stack扩展了类Vector,该类有一个lastElement()和firstElement()方法,该方法将返回集合中的最后一个元素 在做了一个测试之后,我可以确认堆栈的顶部(推入的最后一个元素)是最后一个元素,堆栈的底部是第一个元素。还要注意,如果需要这样的访问,它可能表示您需要与堆栈不同的数据结构,但这取决于上下文。无论如何,Vector允许随机访问 如果您只需要此定义中的最后一个元素而不弹出

我为存储值创建了堆栈,如下所示。我需要从堆栈中读取最后一个值,而不使用“stack.pop


Stack
扩展了类
Vector
,该类有一个
lastElement()
firstElement()
方法,该方法将返回集合中的最后一个元素

在做了一个测试之后,我可以确认堆栈的顶部(推入的最后一个元素)是最后一个元素,堆栈的底部是第一个元素。还要注意,如果需要这样的访问,它可能表示您需要与堆栈不同的数据结构,但这取决于上下文。无论如何,Vector允许随机访问


如果您只需要此定义中的最后一个元素而不弹出它,那么使用Elliott在其评论中建议的
peek()
将是合适的方法。

stack.peek()
?请提供更多上下文。为什么您需要在不使用“stack.pop”的情况下读取堆栈中的最后一个值?@Arkadiy我不认为解释为什么是问一个有明确答案的问题的必要条件。@G_H哦,我不确定OP问的是什么;这就是为什么我做了一个注释。stack.peek()和stack.lastElement()都是正确的。必须记住,stack不允许随机元素访问。因此,通过一些API这样做是不道德的。这就是我们拥有如此庞大的数据结构家族的原因。
import java.util.Stack;

Stack stack = new Stack();
stack.push("Something");
stack.push("Something new");