Contents
접기
728x90
기본 개념
컬렉션은 데이터를 동적으로 저장하고 관리할 수 있는 클래스들의 집합이다.
배열보다 유연하며 삽입, 삭제, 검색, 정렬 등 다양한 기능을 제공한다.
사용하기 위해서는 System.Collections.Generic 네임 스페이스를 추가해야한다.
제너릭에게는 length가 없다 대신 count를 사용한다.
대표적인 컬렉션 종류와 특징
| 컬렉션 | 설명 | 특징 |
| List<T> | 일반적인 동적 배열 | 순서 있음, 중복 허용 |
| Dictionary<TKey, TValue> | 키-값 쌍 저장 | 빠른 검색, 키 중복 불가 |
| HashSet<T> | 중복 없는 집합 | 순서 없음, 중복 제거 |
| Queue<T> | FIFO 구조 | 먼저 넣은 데이터가 먼저 나감 |
| Stack<T> | LIFO 구조 | 나중에 넣은 데이터가 먼저 나감 |
| LinkedList<T> | 연결 리스트 | 삽입·삭제가 빠름, 중간 접근 느림 |
| SortedList<TKey, TValue> | 정렬된 키-값 쌍 | 자동 정렬, 검색 빠름 |
📝사용 예시
🔹 List
List<int> numbers = new List<int> { 1, 2, 3 };
numbers.Add(4);
Console.WriteLine(numbers[0]); // 출력: 1
🔹 Dictionary
Dictionary<string, int> scores = new Dictionary<string, int>();
scores["Alice"] = 90;
scores["Bob"] = 85;
Console.WriteLine(scores["Alice"]); // 출력: 90
🔹 HashSet
HashSet<int> uniqueNumbers = new HashSet<int>();
uniqueNumbers.Add(1);
uniqueNumbers.Add(1); // 중복 추가 안됨
Console.WriteLine(uniqueNumbers.Count); // 출력: 1
📖정리
- 배열: 크기 고정, 기능 제한적
- 컬렉션: 크기 자동 조절, 기능 다양
- System.Collections.Generic 네임스페이스에서 제공
- foreach, LINQ 등과 함께 사용하면 매우 효율적
728x90
'C# > 배열과 리스트' 카테고리의 다른 글
| [C#] 리스트(List) (0) | 2025.04.22 |
|---|---|
| [C#] List<T> vs. 배열(T[]) 비교 (0) | 2025.04.01 |
| [C#] 배열 관련 메서드 (0) | 2025.04.01 |
| [C#] 반복문을 활용한 배열접근 (0) | 2025.04.01 |
| [C#] 배열 요소 접근, 배열의 범위 (0) | 2025.04.01 |