2011-01-07 4 views

답변

6

는 : 모두가 그 일을 할 수있는 것처럼

QMap<Key, T> 
This provides a dictionary (associative array) that maps keys of type Key to values of type T. Normally each key is associated with a single value. QMap stores its data in Key order; if order doesn't matter QHash is a faster alternative. 

QMultiMap<Key, T> 
This is a convenience subclass of QMap that provides a nice interface for multi-valued maps, i.e. maps where one key can be associated with multiple values. 

것 같습니다. 이 문서에는 Algorithmic Complexity 섹션이 있는데 두 클래스가 모두 동일한 복잡성을 갖고 있음을 알 수 있습니다.

동일한 키를 사용하여 여러 값을 보관할 사실을 더 잘 설명하기 위해 QMultiMap을 선택합니다.

4

둘 다이 용도로 사용할 수 있습니다. QMultiMap은 실제로 QMap의 서브 클래스입니다. 당신은 하나의 키에 대한 여러 값을하고자하는 경우

, 당신은 사용할 수 있습니다 QMap : 사용 insertMulti QMultiMap를 삽입 : 당신은 하나의 키에 대한 단일 값을하고자하는 경우 사용

를 삽입 삽입, QMap : 삽입 삽입 용 QMultiMap : 사용 삽입 용

두 가지 모두 서버를 사용할 수 있음을 알 수 있습니다. 그러나 각각에는 이름과 일치하는 고유 한 기본 동작이 있습니다. 또한 각각에는 싱글/멀티에 편리한 몇 가지 메서드 나 연산자가 있습니다.

필요에 따라 유형을 선택하는 것이 좋습니다. 좋은 습관입니다. 예를 들어, QMap을 사용하여 단일 키 다중 값을 저장하는 경우 클래스 멤버를 거치는 다른 사람이 데이터 유형에서 단일 키 값 쌍을 저장하려고한다는 인상을받을 수 있습니다. 마찬가지로, QMultiMap, 정의를 읽는 누구나 데이터가 동일한 키에 대해 여러 값을 가질 것이라는 생각을 가질 수 있습니다. Container Classes 읽기