티스토리 뷰

C#

8. 컬렉션

루체도 2020. 2. 3. 21:33

컬렉션이란 같은 성격을 띄는 데이터의 모음을 담은 자료구조이다.

.NET 프레임워크는 많은 컬렉션 클래스를 제공을 한다.

그 중 가장 자주 사용되는 것은 다음 4가지 클래스이다.

 1. ArrayList

 2. Queue

 3. Stack

 4. Hashtable

 

ArrayList

 가장 배열과 닮은 컬렉션이다.

 요소에 접근할 때는 [] 연산자를 이용해 특정 인덱스에 접근하고, 데이터를 할당할 수 있다.

 배열과는 달리 생성할 때 용량을 미리 지정할 필요가 없이 필요에 따라 자동으로 늘고 줄고 한다.

 Add()

  컬렉션의 가장 마지막에 있는 요소 뒤에 새 요소 추가

 RemoveAt() 

  특정 인덱스의 요소 제거

 Insert()

  특정 위치에 새 요소 삽입

ArrayList array = new ArrayList();
array.Add(10);
array.Add(20);

array.RemoveAt(1); // 20 삭제

array.Insert(0, 5); // 10 앞에 5 삽입

 

Queue

 데이터나 작업을 차례대로 입력해뒀다가 입력된 순서대로 하나씩 꺼내 처리하기 위해 사용된다.

 입력은 오직 뒤에서, 출력은 앞에서만 이루어진다.

 ex) OS에서 CPU가 처리해야 할 작업을 정리할 때, 프린터가 여러 문서를 출력할 때

 Enqueue()

  Queue 맨 뒤에 데이더를 집어 넣는 것.

 Dequeue()

  Queue 맨 앞의 요소를 꺼내고 뒤의 데이터들을 한칸씩 앞으로 당긴다.

Queue que = new Queue();
que.Enqueue(1); // 1
que.Enqueue(2); // 1 , 2

int a = que.Dequeue(); // 1 데이터 빼서 a 에 할당. 2가 맨 첫번째 요소로 당겨진다.

 

Stack

 먼저 들어온 데이터가 나중에 나가는(FILO) 구조의 컬렉션이다.

 Push()

 데이터를 넣을 때 사용

 Pop()

 데이터를 꺼낼 때 사용

Stack stack = new Stack();
stack.Push(10); // 10
stack.Push(20); // 20 10
stack.Push(30); // 30 20 10

int a = (int)stack.Pop(); // 20 10

 

Hashtable

 키(Key)와 값(Value)의 쌍으로 이루어진 데이터를 다룰 때 사용.

 탐색 속도도 빠르고, 사용하기도 편하다. 키는 어떤 데이터 형식이든 가능하다. 

Hashtable ht = new Hashtable();
ht["book"] = "책";

Console.WriteLine(ht["book"]);

 

 

 

 

'C#' 카테고리의 다른 글

10. 델리게이트  (0) 2020.02.06
9. 컬렉션  (0) 2020.02.05
7. 프로퍼티  (0) 2020.02.03
6. 인터페이스와 추상클래스  (0) 2020.01.29
5. 구조체  (0) 2020.01.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함