7.11 큐(Queue) 클래스
Queue 클래스는 선입선출구조(FIFO : First-In, First-Out)의 컬렉션입니다. 제일 처음 삽입된 데이터가 먼저 추출된다는 의미의 큐(Queue)는 데이터를 삽입하는 Enqueue(), 데이터를 추출하는 Dequeue(), 추출한 데이터를 삭제하지 않고 데이터만 가져오는 Peek() 3개의 메서드를 주로 사용합니다. 다음은 Queue의 프로토타입입니다.
▣ Queue 클래스의 프로토타입 |
□ public class Queue : ICollection, IEnumerable, ICloneable |
▣ Queue 클래스의 특징 |
□ 선입선출(First-In-First-Out) 컬렉션 클래스 □ Enqueue() 메서드는 Queue의 첫위치에 요소를 삽입 □ Dequeue() 메서드는 Queue의 마지막 위치의 요소를 삭제 □ Peek() 메서드는 Queue의 마지막 위치의 요소를 제거하지 않고 반환. |
& |
QueueTest.cs |
Ü Queue를 테스트하는 예제 |
using System; | ||
C:\C#Example\07>csc QueueTest.cs C:\C#Example\07>QueueTest 1. Queue의 목록: Hi, 5, 500, Hello, 2. Dequeue:Hi 3. Dequeue:5 4. 두개를 Dequeue한 후의 목록: 500, Hello, 5. Peek:500 6. Peek한 후의 Queue의 목록: 500, Hello, |
Queue 객체를 생성한 후 Enqueue() 메서드를 이용하여 큐에 데이터를 삽입하고 있습니다.
Queue que = new Queue();
que.Enqueue("Hi");
que.Enqueue(5);
que.Enqueue(500);
que.Enqueue("Hello");
Dequeue() 메서드를 호출하여 객체를 반환하고 Queue에서 데이터를 제거하고 있습니다. 이 때 반환되는 데이터형은 object형입니다.
object obj = que.Dequeue();
obj = que.Dequeue();
Dequeue()는 데이터를 추출한 뒤 데이터를 제거하지만 Peek() 메서드는 데이터만을 반환하고 데이터는 그대로 놓아 둡니다.
obj = que.Peek();
[출처] [펌] [후다닥편집]컬렉션11 : 큐(Queue) 클래스|작성자 눈꽃천사