Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 딕셔너리(Dictionary)와 배열(Array)의 차이점 완벽 정리

C# 프로그래밍에서 딕셔너리(Dictionary)배열(Array)은 가장 많이 사용되는 자료구조입니다. 두 컬렉션 모두 데이터를 저장하지만, 저장 방식과 사용 목적에서 뚜렷한 차이가 있습니다. 이 글에서는 각각의 특징과 사용법을 살펴보고 핵심 차이점을 정리해 드립니다.

딕셔너리(Dictionary)란?

딕셔너리는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 컬렉션입니다. 각 요소는 고유한 키로 식별되므로, 인덱스 대신 키를 사용해 데이터를 빠르게 조회할 수 있습니다. 딕셔너리는 System.Collections.Generic 네임스페이스에 포함되어 있습니다.

딕셔너리를 선언하는 방법은 다음과 같습니다.

IDictionary<int, int> d = new Dictionary<int, int>();

Add() 메서드를 사용하여 키-값 쌍을 추가할 수 있습니다.

IDictionary<int, int> d = new Dictionary<int, int>();
d.Add(1, 97);
d.Add(2, 89);
d.Add(3, 77);
d.Add(4, 88);

배열(Array)란?

배열은 동일한 타입의 요소들을 고정된 크기로 순차적으로 저장하는 자료구조입니다. 배열의 요소들은 메모리상에 연속된 위치에 배치되며, 가장 낮은 주소가 첫 번째 요소에, 가장 높은 주소가 마지막 요소에 해당합니다.

배열을 정의하는 방법은 다음과 같습니다.

int[] arr = new int[5];

선언과 동시에 초기화하여 요소를 설정할 수도 있습니다.

int[] arr = new int[9] {3, 5, 35, 87, 56, 99, 44, 36, 78};

딕셔너리와 배열의 주요 차이점

  • 저장 방식: 배열은 인덱스 기반으로 요소를 순차 저장하고, 딕셔너리는 키-값 쌍 형태로 저장합니다.
  • 크기: 배열은 생성 시 크기가 고정되지만, 딕셔너리는 요소 추가에 따라 동적으로 확장됩니다.
  • 데이터 접근: 배열은 인덱스(0부터 시작)로 접근하며, 딕셔너리는 고유한 키를 통해 값에 접근합니다.
  • 타입 제한: 배열은 단일 타입만 저장할 수 있고, 딕셔너리는 키와 값의 타입을 각각 지정할 수 있습니다.

정리하면, 순서가 중요하고 고정된 개수의 데이터를 다룰 때는 배열, 키를 기반으로 빠른 조회가 필요할 때는 딕셔너리를 사용하는 것이 적합합니다.