C#/배열과 리스트

[C#] 컬렉션(Collection)

도도돋치 2025. 4. 15. 22:08
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