C#에서 키 기반 I/O 컬렉션은 바로 SortedList를 의미합니다.
SortedList<TKey,TValue>
SortedList 클래스는 키-값(key-value) 쌍으로 구성된 컬렉션을 나타냅니다. 이 컬렉션은 키를 기준으로 자동 정렬되며, 키 또는 인덱스 두 가지 방식으로 요소에 접근할 수 있습니다.
다음과 같이 Add() 메서드를 사용하여 키와 값을 함께 추가할 수 있습니다.
s.Add("Sub1", "Physics");
s.Add("Sub2", "Chemistry");
s.Add("Sub3", "Biology");
s.Add("Sub4", "Java");아래 예제는 SortedList에 저장된 키와 값을 화면에 출력하는 과정을 보여줍니다.
예제 코드
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
SortedList s = new SortedList();
s.Add("Sub1", "Economics");
s.Add("Sub2", "Accountancy");
s.Add("Sub3", "Business Studies");
s.Add("Sub4", "English");
Console.WriteLine("Capacity = " + s.Capacity);
// 키 컬렉션 가져오기
ICollection key = s.Keys;
foreach (string k in key) {
Console.WriteLine(k + ": " + s[k]);
}
}
}
}실행 결과
Capacity = 16 Sub1: Economics Sub2: Accountancy Sub3: Business Studies Sub4: English
주요 포인트
위 실행 결과에서 확인할 수 있듯이, SortedList는 기본 용량(Capacity)이 16으로 설정되며 항목이 추가됨에 따라 필요하면 자동으로 확장됩니다. 또한 Keys 속성을 사용하면 전체 키 컬렉션에 접근할 수 있고, foreach 루프를 통해 각 키와 대응되는 값을 순차적으로 조회하고 출력할 수 있습니다.
이처럼 SortedList는 데이터가 항상 키 순서대로 유지되어야 하는 상황에서 매우 유용하게 활용할 수 있는 컬렉션입니다.