2016-11-24 52 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中的數據結構是不同的,所以你最終有更多的功能,它們大多包裝基本陣列...