다음을 통해 공유


Stack 컬렉션 형식

System.Collections.Stack 클래스와 System.Collections.Generic.Stack<T>System.Collections.Concurrent.ConcurrentStack<T> 제네릭 클래스는 ICollection 인터페이스를 구현하는 후입 선출 컬렉션 클래스입니다. System.Collections.Generic.Stack<T>System.Collections.Concurrent.ConcurrentStack<T> 제네릭 클래스는 ICollection<T> 제네릭 인터페이스도 구현합니다.

정보를 위한 임시 저장소가 필요한 경우 즉, 요소 값을 검색한 후 요소를 삭제하려는 경우 Stack과 Queue가 유용합니다. 컬렉션에 저장된 동일한 순서로 정보에 액세스해야 하는 경우에는 System.Collections.Queue를 사용하고, 반대의 순서로 정보에 액세스해야 하는 경우에는 System.Collections.Generic.Stack<T>을 사용합니다.

여러 스레드에서 동시에 컬렉션에 액세스해야 하는 경우에는 System.Collections.Concurrent.ConcurrentStack<T>System.Collections.Concurrent.ConcurrentQueue<T> 형식을 사용합니다.

System.Collections.Generic.Stack<T>은 일반적으로 다른 프로시저를 호출하는 동안 변수 상태를 유지하려는 경우에 사용됩니다.

System.Collections.Generic.Stack<T> 및 해당 요소에 대해 다음과 같은 세 가지 주요 작업을 수행할 수 있습니다.

  • Push를 사용하여 Stack의 맨 위에 요소를 삽입합니다.

  • Pop을 사용하여 Stack<T>의 맨 위에서 요소를 제거합니다.

  • Peek을 사용하여 Stack<T>의 맨 위에 있는 요소를 반환만 하고 Stack<T>에서 제거하지는 않습니다.

    System.Collections.Concurrent.ConcurrentStack<T> 클래스에서는 하나 이상의 값을 제거할 수 없을 때 false(Visual Basic의 경우 False)를 반환하는 TryPopTryPopRange 메서드를 제공합니다. TryPopRangePushRange 메서드를 사용하면 한 번의 작업으로 여러 개의 요소를 쉽게 삽입 또는 제거할 수 있습니다.

참고 항목

참조

Stack

System.Collections.Generic.Stack<T>

Queue

System.Collections.Generic.Queue<T>

ICollection

System.Collections.Generic.ICollection<T>

ConcurrentStack<T>

ConcurrentQueue<T>

개념

일반적으로 사용되는 컬렉션 형식