다음을 통해 공유


배열, 목록 및 맵 클래스

데이터 집계를 처리하기 위해 클래스 라이브러리는 다양한 개체 및 미리 정의된 형식을 보유할 수 있는 컬렉션 클래스 그룹(배열, 목록 및 맵)을 제공합니다. 컬렉션의 크기는 동적으로 조정됩니다. 이러한 클래스는 Windows용으로 작성되었는지 여부에 관계없이 모든 프로그램에서 사용할 수 있습니다. 그러나 애플리케이션 프레임워크에서 문서 클래스를 정의하는 데이터 구조를 구현하는 데 가장 유용합니다. 이러한 클래스에서 특수 컬렉션 클래스를 쉽게 파생하거나 템플릿 클래스를 기반으로 만들 수 있습니다. 이러한 접근 방식에 대한 자세한 내용은 컬렉션 문서를 참조하세요. 템플릿 컬렉션 클래스 목록은 배열, 목록 및 지도 대한 템플릿 클래스 문서를 참조하세요.

배열은 메모리에 연속적으로 저장되는 1차원 데이터 구조입니다. 지정된 요소의 메모리 주소를 요소의 크기로 곱하고 결과를 배열의 기본 주소에 추가하여 계산할 수 있으므로 매우 빠른 임의 액세스를 지원합니다. 그러나 삽입된 요소 뒤에 있는 전체 배열을 이동하여 요소를 삽입할 공간을 만들어야 하므로 배열에 요소를 삽입해야 하는 경우 배열은 매우 비쌉니다. 배열은 필요에 따라 증가 및 축소할 수 있습니다.

목록은 배열과 비슷하지만 매우 다르게 저장됩니다. 목록의 각 요소에는 이전 요소와 다음 요소에 대한 포인터도 포함되어 이중으로 연결된 목록입니다. 이렇게 하려면 몇 가지 포인터만 변경하기 때문에 항목을 추가하거나 삭제하는 것이 매우 빠릅니다. 그러나 목록의 끝 중 하나에서 모든 검색을 시작해야 하므로 목록을 검색하는 데 비용이 많이 들 수 있습니다.

지도 키 값을 데이터 값과 연결합니다. 예를 들어 맵의 키는 문자열이고 목록에 포인터가 있는 데이터일 수 있습니다. 맵에 특정 문자열과 연결된 포인터를 제공하도록 요청합니다. 지도 조회는 맵이 키 조회에 해시 테이블을 사용하기 때문에 빠릅니다. 항목 추가 및 삭제도 빠릅니다. 지도 종종 다른 데이터 구조와 보조 인덱스로 사용됩니다. MFC는 메시지 맵이라는 특수한 종류의 맵사용하여 Windows 메시지를 해당 메시지의 처리기 함수에 대한 포인터에 매핑합니다.

참고 항목

클래스 개요