다음을 통해 공유


Platform::Collections::Map 클래스

키/값 쌍의 컬렉션인 을 나타냅니다. XAML 데이터 바인딩도움이 되도록 Windows::Foundation::Collections::IObservableMap을 구현합니다.

구문

template <
   typename K,
   typename V,
   typename C = std::less<K>>
ref class Map sealed;

매개 변수

K
키/값 쌍의 키 형식입니다.

V
키/값 쌍의 값 형식입니다.

C
두 요소 값을 정렬 키로 비교하여 맵에서 해당 상대 순서를 확인할 수 있는 함수 개체를 제공하는 형식입니다. 기본적으로 std::less<K>.

__is_valid_winrt_type() K 및 V 형식의 유효성을 검사하고 형식을 맵에 저장할 수 없는 경우 친숙한 오류 메시지를 제공하는 컴파일러 생성 함수입니다.

설명

허용되는 형식은 다음과 같습니다.

  • integers

  • interface 클래스^

  • public ref 클래스 ^

  • value struct

  • public enum 클래스

Map은 기본적으로 std::map에 대한 래퍼입니다. 공용 Windows 런타임 인터페이스에서 전달되는 Windows::Foundation::Collections::IMap<Windows::Foundation::Collections::IKeyValuePair<K, V>> 및 IObservableMap 형식의 C++ 구체적인 구현입니다. 공용 반환 값 또는 매개 변수에서 Platform::Collections::Map 형식을 사용하려고 하면 컴파일러 오류 C3986이 발생합니다. 매개 변수의 형식을 변경하거나 값을 Windows::Foundation::Collections::IMap<K,V>로 변경하여 오류를 해결할 수 있습니다.

자세한 내용은 컬렉션을 참조하세요.

멤버

공용 생성자

속성 설명
Map::Map Map 클래스의 새 인스턴스를 초기화합니다.

공용 메서드

이름 설명
지도::지우기 현재 Map 개체에서 모든 키/값 쌍을 제거합니다.
Map::First 맵의 첫 번째 요소를 지정하는 반복기를 반환합니다.
Map::GetView 현재 Map의 읽기 전용 보기, 즉 Platform::Collections::MapView Class를 반환합니다.
Map::HasKey 현재 Map에 지정한 키가 들어 있는지 여부를 확인합니다.
Map::Insert 지정한 키/값 쌍을 현재 Map 개체에 추가합니다.
Map::Lookup 현재 Map 개체의 지정된 키에 있는 요소를 검색합니다.
Map::Remove 지정한 키/값 쌍을 현재 Map 개체에서 삭제합니다.
Map::Size 현재 Map 개체의 요소 수를 반환합니다.

이벤트

이름 설명
Map::MapChanged 이벤트 Map이 변경될 때 발생합니다.

상속 계층 구조

Map

요구 사항

헤더: collection.h

네임스페이스: Platform::Collections

Map::Clear 메서드

현재 Map 개체에서 모든 키/값 쌍을 제거합니다.

구문

virtual void Clear();

Map::First 메서드

맵의 첫 번째 요소를 지정하는 반복기 또는 nullptr(맵이 비어 있는 경우)을 반환합니다.

구문

virtual Windows::Foundation::Collections::IIterator<
Windows::Foundation::Collections::IKeyValuePair<K, V>^>^ First();

Return Value

맵의 첫 번째 요소를 지정하는 반복기입니다.

설명

First()에서 반환된 반복기를 유지하는 편리한 방법은 형식 추론 키워드로 선언된 변수에 반환 값을 할당하는 auto 것입니다. 예들 들어 auto x = myMap->First();입니다.

Map::GetView 메서드

현재 맵의 읽기 전용 보기를 반환합니다. 즉, Windows::Foundation::Collections::IMapView K,V> 인터페이스를 구현하는 Platform::Collections::MapView<클래스입니다.

구문

Windows::Foundation::Collections::IMapView<K, V>^ GetView();

Return Value

MapView 개체입니다.

Map::HasKey 메서드

현재 Map에 지정한 키가 들어 있는지 여부를 확인합니다.

구문

bool HasKey(K key);

매개 변수

key
Map 요소를 찾는 데 사용되는 키입니다. 키형식은 typename K입니다.

Return Value

true키를 찾았으면 false

Map::Insert 메서드

지정한 키/값 쌍을 현재 Map 개체에 추가합니다.

구문

virtual bool Insert(K key, V value);

매개 변수

key
키-값 쌍의 키 부분입니다. 키형식은 typename K입니다.

value
키-값 쌍의 값 부분입니다. 값형식은 typename V입니다.

Return Value

true현재 Map에 있는 기존 요소의 키가 키와 일치하고 해당 요소의 값 부분이 값으로 설정되어 있으면 입니다. false현재 맵에 키와 일치하는 기존 요소가 없으면 키값 매개 변수가 키-값 쌍으로 만들어지고 현재 맵에 추가됩니다.

Map::Lookup 메서드

K 형식의 지정된 키(해당 키가 있는 경우)와 연결된 V 형식의 값을 검색합니다.

구문

V Lookup(K key);

매개 변수

key
지도에서 요소를 찾는 데 사용되는 키입니다. 키형식은 typename K입니다.

Return Value

쌍을 이루는 값입니다. 반환 값의 형식은 typename V입니다.

설명

키가 없 으면 Platform::OutOfBoundsException 이 throw됩니다.

Map::Map 생성자

Map 클래스의 새 인스턴스를 초기화합니다.

구문

explicit Map(const C& comp = C());
explicit Map(const StdMap& m);
explicit Map(StdMap&& m ;
template <typename InIt>
Map(
   InItfirst,
   InItlast,
   const C& comp = C());

매개 변수

InIt
현재 Map의 형식 이름입니다.

comp
두 요소 값을 정렬 키로 비교하여 맵에서 해당 상대 순서를 확인할 수 있는 함수 개체를 제공하는 형식입니다.

m
현재 맵을 map Class 초기화하는 데 사용되는 참조 또는 rvalue입니다.

first
현재 Map를 초기화하는 데 사용되는 요소 범위에서 첫 번째 요소의 입력 반복기입니다.

last
현재 Map를 초기화하는 데 사용되는 요소 범위 다음의 첫 번째 요소의 입력 반복기입니다.

Map::MapChanged 이벤트

맵에서 항목이 삽입되거나 제거될 때 발생합니다.

구문

event Windows::Foundation::Collections::MapChangedEventHandler<K,V>^ MapChanged;

속성 값/반환 값

이벤트를 발생시킨 개체 및 발생한 변경의 종류에 대한 정보를 포함하는 MapChangedEventHandler<K,V>입니다. IMapChangedEventArgs K 및 CollectionChange 열거형도 참조하세요.><

.NET Framework의 해당 값

C# 또는 Visual Basic 프로젝트 IMap<을 사용하는 앱 Windows 런타임K,V> as IDictionary<K,V>.

Map::Remove 메서드

지정한 키/값 쌍을 현재 Map 개체에서 삭제합니다.

구문

virtual void Remove(K key);

매개 변수

key
키-값 쌍의 키 부분입니다. 키형식은 typename K입니다.

Map::Size 메서드

맵에서 Windows::Foundation::Collections::IKeyValuePair<K,V> 요소의 수를 반환합니다.

구문

virtual property unsigned int Size;

Return Value

Map의 요소 수입니다.

참고 항목

컬렉션(C++/CX)
Platform 네임스페이스
C++에서 Windows 런타임 구성 요소 만들기