2016-11-24 50 views
0

我看了一下,似乎无法找到答案。如何查看堆栈中的特定物品?

在Java中,如果我有一个包含10个项目的堆栈,有没有办法在不改变堆栈的情况下查看第4个项目?

在此先感谢。

+0

一般来说栈不提供基于指数访问,但取决于实施可能有一种方法。当然,如果你发现自己在观察堆栈的内容,它可能不是你正确的数据类型。 – Kayaman

+2

您正在寻找的答案:http://stackoverflow.com/questions/13507978/return-the-stack-element-at-a-given-index-without-modifying-the-original-stack-i – Houbie

+0

什么堆栈?如果它是一个'java.util.Stack',那么是的。你可以发布一些代码作为上下文吗? – khelwood

回答

1

它可以看到在特定索引元素Java的java.util.Stack

Stack<String> stack = new Stack<>(); 

// adding multiple elements to stack 

stack.elementAt(3); 

之所以这样,是因为堆栈正在扩大Vector和ElementAt的是向量的方法...此外,矢量具有下列公共方法:

stack.get(3); 

因此,这将工作太...

和矢量基本上包装阵列,所以它会在0工作。

这当然违背理论的堆栈,但大多数在Java中的数据结构是不同的,所以你最终有更多的功能,它们大多包装基本阵列...