Queue<T>
2016.10.04. 19:00
크기가 변하는 선입선출(FIFO) 방식의 컬렉션을 나타낸다.
Enqueue 개체를 Queue의 끝 부분에 추가
Dequeue Queue의 시작 부분에서 개체를 제거하라고 반환
Peek Queue의 시작 부분에서 개체를 제거하지 않고 반환.
using System;
using System.Collections.Generic;
namespace QueueTEx
{
public class Enemy {
public string Name { get; set; }
public int Level { get; set; }
public int HP { get; set; }
public int Exp { get; set; }
public void printEnemyInfo() {
Console.WriteLine ("Name : {0} Level : {1} HP : {2} Exp : {3}",
Name, Level, HP, Exp);
}
}
class MainClass
{
public static Queue<Enemy> enemyQueue;
public static void Main (string[] args)
{
enemyQueue = new Queue<Enemy>();
// 추가
enemyQueue.Enqueue (new Enemy () { Name = "Slime", Level = 1,
HP = 200, Exp = 30 });
enemyQueue.Enqueue (new Enemy () { Name = "Zombie", Level = 2,
HP = 100, Exp = 50 });
enemyQueue.Enqueue (new Enemy () { Name = "Skeleton", Level = 3,
HP = 120, Exp = 80 });
enemyQueue.Enqueue (new Enemy () { Name = "Bugbear", Level = 4,
HP = 300, Exp = 150 });
enemyQueue.Enqueue (new Enemy () { Name = "Bugbear", Level = 5,
HP = 350, Exp = 180 });
Console.WriteLine ("**********************");
foreach (Enemy enemy in enemyQueue) {
enemy.printEnemyInfo();
}
// 삭제
Console.WriteLine ("********* Out *********");
Enemy outEnemy = enemyQueue.Dequeue ();
outEnemy.printEnemyInfo ();
Console.WriteLine ("**********************");
foreach (Enemy enemy in enemyQueue) {
enemy.printEnemyInfo();
}
// 검색 후 삭제
Console.WriteLine ("******** First *********");
Enemy firstEnemy = enemyQueue.Peek();
firstEnemy.printEnemyInfo ();
}
}
}
|
cs |
'프로그래밍 > Unity' 카테고리의 다른 글
해시테이블(hash table) (0) | 2017.04.09 |
---|---|
Stack<T> (0) | 2017.04.09 |
Dictionary<TKey, TValue> (0) | 2017.04.09 |
List<T> (0) | 2017.04.09 |
LinkedList<T> (0) | 2017.04.09 |