* 컬렉션
// 컬렉션이란 같은 성격의 데이터들의 모음을 담는 자료구조
// arraylist, queue, stack, hashtable이 있다.
* ArrayList
// 배열이 자동으로 늘어나고 줄어듬
// 배열.add, 배열.removeat, 배열.insert 정도 자주씀
ArrayList abc = new ArrayList();
abc.Add(1);
abc.Add(3);
abc.Add(5);
abc.RemoveAt(2); // 2번 인덱스 값 5 삭제
abc.Insert(1, 6); // 값 1과 3 사이 1번 인덱스에 6 삽입
// Console.WriteLine(abc[1]); // 곧바로 접근 가능
foreach(int x in abc)
{
Console.WriteLine(x);
}
* Queue
// 자료구조에서 배운 큐와 똑같은 동작이다. 선입선출
Queue abc = new Queue();
abc.Enqueue(1);
abc.Enqueue(3);
abc.Enqueue(5);
foreach (int x in abc)
{
Console.WriteLine(x);
}
* Stack
// 스택도 물론 똑같다. 반대로 뺄 뿐..
Stack abc = new Stack();
abc.Push(1);
abc.Push(3);
abc.Push(5);
while(abc.Count > 0)
{
Console.Write(abc.Pop()); // pop은 스택에서 하나씩 빼서 출력
}
* HashTable
// 키와 값으로 이루어진 데이터를 다룰 때 사용함
Hashtable abc = new Hashtable();
abc["a"] = "a";
abc["bbb"] = "bbb";
Console.Write(abc["bbb"]);
// 탐색 속도가 빠르고 arraylist처럼 순차적으로 리스트 찾을 필요없음.
// 키를 이용해서 곧바로 데이터가 저장된 컬렉션 내의 주소 계산하는데 이걸 해싱이라함.
* 인덱서
// 이건 생략함. 클래스를 배열처럼 사용하는거임. ㅇㅇ