它表示一個後進先出的對象集合。當您需要後進先出的容器時,可以使用Stack
類。當在列表中添加專案時,叫作推送專案,當刪除專案時,叫作彈出。
Stack類的方法和屬性
下表列出了Stack
類的一些常用屬性:
屬性 | 說明 |
---|---|
Count | 獲取堆疊中包含的元素數量。 |
下表列出了Stack
類的一些常用方法:
序號 | 方法 | 描述 |
---|---|---|
1 | public virtual void Clear(); |
從堆疊中刪除所有元素 |
2 | public virtual bool Contains(object obj); |
確定元素是否在堆疊(Stack )中。 |
3 | public virtual object Peek(); |
返回堆疊頂部的對象,但不刪除它。 |
4 | public virtual object Pop(); |
刪除並返回堆疊頂部的對象。 |
5 | public virtual void Push(object obj); |
在Stack 的頂部插入一個對象。 |
6 | public virtual object[] ToArray(); |
將堆疊複製到一個新的數組。 |
例子
以下示例中演示了上述Stack
的用法:
using System;
using System.Collections;
namespace CollectionsApplication
{
class Program
{
static void Main(string[] args)
{
Stack st = new Stack();
st.Push('I');
st.Push('A');
st.Push('B');
st.Push('I');
st.Push('I');
st.Push('Y');
Console.WriteLine("Current stack: ");
foreach (char c in st)
{
Console.Write(c + " ");
}
Console.WriteLine();
st.Push('Y');
st.Push('M');
Console.WriteLine("The next poppable value in stack: {0}", st.Peek());
Console.WriteLine("Current stack: ");
foreach (char c in st)
{
Console.Write(c + " ");
}
Console.WriteLine();
Console.WriteLine("Removing values ");
st.Pop();
st.Pop();
st.Pop();
Console.WriteLine("Current stack: ");
foreach (char c in st)
{
Console.Write(c + " ");
}
}
}
}
當上述代碼被編譯並執行時,它產生以下結果:
Current stack:
Y I I B A I
The next poppable value in stack: M
Current stack:
M Y Y I I B A I
Removing values
Current stack:
I I B A I