[C#]14.컬렉션 맛보기
- 프로그래밍 언어 - C#
- 2019. 1. 4. 15:56
안녕하세요 유랑입니다.
이번 시간에는 컬렉션에 대해서 알아보겠습니다.
같은 성격을 띄는 데이터는 어떤 자료 구조 형식을 가지고 있을까요?
컬렉션을 통해서 알아보겠습니다.
1. 컬렉션
1-1) ArrayList
ArrayList는 가장 배열과 닮은 컬렉션입니다.
컬렉션의 요소에 접근할 때는 [ ] 연산자를 이용하고, 데이터를 임의로 할당가능합니다.
예제를 통해서 알아보겠습니다.
1-2) Queue
Queue는 대기열이라는 뜻을 가지고있습니다.
말그대로 데이터나 작업을 차례대로 입력해뒀다가
입력된 순서대로 하나씩 꺼내 처리하기 위해 사용됩니다.
배열이나 리스트에서는 원하는 위치에 자유로운 접근이 가능하지만,
Queue는 입력은 뒤에서 출력은 앞에서만 가능하답니다.
1-3) Stack
Stack은 Queue와는 반대로 먼저 들어온 데이터가 나중에 나가고,
나중에 들어온 데이터는 먼저 나가는 구조를 가지고있습니다.
Push와 Pop라는 용어를 생각하시고 이해해 보겠습니다.
1-4) Hashtable
Hashtable은 키와 값의 쌍으로 이루어진 데이터를 다룰 때 사용됩니다.
키로는 int, float 등 다양한 형식 적용이 가능하답니다.
Hashtable은 키를 이용해서 단번에 데이터가 저장되어 있는 컬렉션 내의 주소를
계산해내기 때문에 탐색 속도가 거의 소요되지 않습니다.
예제를 통해서 알아보겠습니다.
1-5) 컬렉션 초기화
앞에서 컬렉션들에 대해서 알아보았습니다.
배열처럼 초기화하려면 어떻게 해야 될까요?
예제를 통해서 알아보겠습니다.
1-6) 인덱서
인덱서는 인덱스를 이용해서 객체 내의 데이터 접근하게 해주는 프로퍼티라고 보시면됩니다.
객체를 마치 배열처럼 사용하게 해주는데요.
프로퍼티와 유사하지만 인덱스를 이용한다는게 다른점이네요^^
1-7) Yield
foreach문은 조건문이나 증감식을 쓰지 않아도 되는 효과적인 기능을 가지고있습니다.
foreach문을 만드려면 yield return 문의 도움을 받아야 하는데요.
어떻게 만들 수 있을지 코드를 통해서 알아보겠습니다.
1-8) Enumerable
IEnumerator와 IEnumerable도 인터페이스의 한 종류입니다.
어떤 기능과 결과물을 가지고 올 수 있을지 코드를 통해서 알아보겠습니다.
2. 마무리
오늘은 컬렉션과 인덱서에 대해서 배워보았습니다.
프로퍼티와 인터페이스를 응용해 보는 시간이었던 것 같네요.
오늘도 고생하셨습니다.
감사합니다.
수업자료: https://github.com/YouRang12/-Tistory-CShop---Basic