ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컬렉션(Collection) 클래스
    Programing/C# 2008. 8. 5. 12:52

    ArrayList 클래스는 IList로 구현된 대표적인 클래스이다.

    이 클래스는 메서드를 통해 객제 저장, 검색, 삭제 등등을 할 수 있습니다.
    대표적인 메서드들은 다음과 같다.

    Add() : 개체를 ArrayList의 끝 부분에 추가한다.
    AddRange()
    ArrayList의 끝 부분에 ICollection의 요소를 복사한다.
    Clear() : ArrayList에서 요소를 모두 제거한다.
    Clone() :
    ArrayList의 단순 복사본을 만든다.
    Insert() :
    ArrayList의 지정된 인덱스에 요소를 삽입한다.
    InsertRange()ArrayList의 지정된 인덱스에ICollection의 요소를 삽입한다.
    Remove() :
    ArrayList에서 맨 처음 발견되는 특정 개체를 제거한다.
    RemoveAt() : ArrayList의 지정한 인덱스에서 요소를 제거한다.
    RemoveRange() :
    ArrayList에서 요소의 범위를 제거한다.
    Sort(): ArrayList또는 그 일부에 포함된 요소를 정렬한다.




    Hashtable 클래스는 IDictionary의 대표적인 예이다.
    위의 ArrayList클래스와 함께 ICollection을 상속받았기 때문에 컬렉션류의 대부분의 기능을 전부 구현한다고 볼수 있고 IDictionary의 대표 기능인 데이터를 삽입하고 추출할 때 키와 값을 이용한다는 것이다. 해시테이블은 빠른 검색을 목적으로 최적화 되었다.
    주요 메서드는 다음과 같다.

    Add(키, 값) : 지정한 키와 값을 가지는 요소를 Hashtable에 추가합니다.
    Clear() : Hashtable에서 요소를 모두 제거합니다.
    ContainsKey() : 해당 키가 있을 때는 true를 아니면 false를 반환한다.
    GetEnumerator() : IDictionaryEnumerator 객체를 얻어낸다.


     

    SortedList 클래스는 해시테이블과 어레이리스트의 혼합형 정도로 보면 쉽게 이해할 수 있다.
    키를 기준으로 정렬되고 키와 인덱스로 액세스 할수 있는 키/값 쌍의 컬렉션을 나타낸다.  가장 큰 특징은 내부적으로 정렬된 컬렉션을 유지하고 있다는 것이다.
    주요 메서드로는 위의 해시테이블과 어레이리스트의 다양한 메서드를 공유한다.
    다시 이야기하지만 SortedList의 가장 중요한점은 데이터가 삽입된 순서와 데이터가 추출되는 순서..즉 사입된 데이터들이 자동으로 정렬되어 추출된다는 것이다.




    Queue 클래스는 선입선출구조(FIFO)의 컬렉션이다.
    큐의 가장 큰 특징은 바로 선입선출이다.
    입력할 때는 Enqueue() 메서드를 사용하며 추출할 때는 Dequeue() 메서드를 이용한다.
    추출하기 전에 데이터만을 가져오고자 할 때는 Peek()메서드를 이용한다.




    Stack 클래스는 큐와 비슷하지만 삽입과 추출이 후입선출(LIFO)의 구조를 가진다.

    주요 메서드로는 데이터를 삽입할때 사용하는 Push() 메서드, 데잍를 추출할 때의 Pop()메서드 그리고 추출할 데이터를 삭제하지 않고 데이터만을 가져 올때는 큐와 동일한 Peek()메서드등을 사용하게 된다.


Designed by Tistory.