본문 바로가기
프로그래밍/c#

c#_37 콜렉션 Collection : 스택 Stack<T>

by 지나팩 2021. 8. 4.

콜렉션(Collection)에 대해 알아보도록 하겠습니다. 보통 자료구조(Data Structure)라고도 불리며 데이터를 저장하거나 검색하는 등 데이터를 효율적으로 관리하기 위해서 쓰이는 것이 바로 콜렉션입니다. 다양한 콜렉션이 존재하며 상황에 따라 적절한 콜렉션을 활용하면 됩니다. 오늘은 콜렉션 중 스택(Stack)에 대해서 먼저 살펴보도록 하죠.

스택은 선입후출의 방식으로 데이터를 저장하고 관리합니다.

위 그림에서 보듯 데이터가 들어오는 순서대로 쌓이고 데이터를 사용할 때는 늦게 들어온 데이터부터 꺼내어 사용하게 됩니다. 

스택을 사용하려면 System.Collections.Generinc 라이브러리를 추가해야합니다. 추가하지 않으면 스택를 비롯한 콜렉션들을 사용할 수가 없습니다. 스택 클래스와 어떤 데이터 타입(자료형)을 저장할건지 명시하고 이름을 정한 뒤 생성을 해줍니다.

Push메소드를 통해서 스택에 데이터를 저장합니다. 보시다시피 2, 12, 5, 65의 순서로 숫자를 스택에 저장했는데 출력은 늦게 입력된 65부터 출력이 되는 것을 볼 수가 있습니다. 스택의 속성인 선입후출에 의해서 늦게 입력된 값이 먼저 출력되는 것이죠.

Pop메소드를 사용하여 스택에 저장되어 있는 데이터를 제거할 수 있습니다. 당연하게도 늦게 들어온 데이터가 먼저 제거가 됩니다. 위 예제에서 볼 수 있듯 Pop메소드를 두번 호출했더니 65와 5의 값이 제거가 된 것을 확인할 수 있습니다.

사용법은 그리 어렵지 않으니 선입후출이 필요한 구조에서 활용하시면 되겠죠??

 

댓글