QMap 은 키 로 분류 되 는 키 에서 값 으로 분류 되 는 값 에 대한 맵 을 제공 합 니 다. 일반적으로 저 장 된 데이터 형식 은 키 가 하나의 값 에 대응 하 는 것 입 니 다
.
원 키 다수 치 의 경우 클래스 QMultiMap 으로 가능 합 니 다.
키 값 은 모두 임의의 유형
일 수 있 습 니 다.
교체 기 가 모든 키 값 을 가리 키 는 요 소 를 정의 할 수 있 습 니 다. 하나의 포인터
로 이해 할 수 있 습 니 다.
key 를 통 해 value 를 가 져 올 때:
key 가 존재 할 때: 대응 하 는 value
를 되 돌려 줍 니 다.
key 가 존재 하지 않 을 때: value 형식 에 대응 하 는 '0 값' 을 되 돌려 줍 니 다
키 값 을 삽입 할 때:
key 가 존재 할 때: value 의 값 업데이트
키 가 존재 하지 않 을 때: 새로운 키 쌍 삽입
QHash
QHash 는 Qt 의 해시 데이터 구조
QHash 원형 은 class QHash
QHash 키 쌍 이 내부 에서 무질서 하 게 배열 되 어 있 음
QHash 의 key 형식 은 operator = = 연산 자 를 다시 불 러 와 야 합 니 다
QHash 의 key 대상 은 전역 qHash () 함수
를 다시 불 러 와 야 합 니 다.
이러한 유지 보 수 는 해시 표 입 니 다. 표 의 크기 와 데이터 항목 은 자가 적응
입 니 다.
QHash 는 임의의 순서 로 저 장 된 데이터
또한 원 키 다 중 값 을 지원 할 수 있 으 며, 클래스 QMultiHash 로 구현 할 수 있 습 니 다.
키 값 은 모두 임의의 유형
일 수 있 습 니 다.
QMap 은 QHash 와 인터페이스 가 같 아 직접 교체 하여 사용 할 수 있다
설 정 된 키 에 따라 대응 하 는 값 을 쉽게 얻 을 수 있 고 QMap 보다 검색 효율 이 높 습 니 다.
교체 기 it 는 하나의 지침 으로 이해 할 수 있 으 며, QMap 대상 의 모든 요 소 를 가리 킬 수 있 습 니 다
둘 의 차이:
QHash 의 검색 속도 가 QMap 보다 현저히 빠르다.
QHash 의 배열 은 qhash () 라 는 전역 해시 함 수 를 호출 한 후에 얻 은 ID 이기 때문에 함 수 를 호출 한 후에 이 ID 를 거의 즉시 얻 을 수 있 기 때문에 포 지 셔 닝 속도 가 매우 빠르다.한편, QMap 은 버튼 값 의 오름차 순 으로 배열 되 어 있 기 때문에 2 분 검색 방법 으로 찾 을 수 있 고 속도 가 많이 느 릴 수 있 습 니 다.
QHash 가 차지 하 는 저장 공간 은 QMap 보다 현저히 많 고 QHash 의 속 도 는 공간 을 이용 하여 바 꾼 것 이다.
QHash 는 임의의 방식 으로 요 소 를 저장 합 니 다. qHash 함 수 를 호출 하여 ID 를 얻 기 때문에 배열 이 불규칙 합 니 다.QMap 은 key 의 오름차 순 으로 저 장 됩 니 다.
QHash 의 키 형식 은 operator = = () 와 qHash () 함 수 를 제공 해 야 합 니 다.QMap 의 키 종 류 는 operator 를 제공 해 야 합 니 다.
const_iterator constBegin () const 는 0 번 째 위치 요 소 를 가리 키 는 const 형식의 교체 기
를 되 돌려 줍 니 다.
const_iterator constEnd () const 는 마지막 요 소 를 가리 키 는 다음 가상 위 치 를 가리 키 는 const 형식의 교체 기
를 되 돌려 줍 니 다.
const_iterator constFind (const Key & key) const 반환 키 키 키 에 대응 하 는 요소 위치의 const 형식의 교체 기
bool contains (const Key & key) const 키 에 대응 하 는 키 쌍 이 있 으 면 true 로 돌아 갑 니 다. 그렇지 않 으 면 false
로 돌아 갑 니 다.
int count (const Key & key) const 는 Key 와 연 결 된 키 값 의 수 를 되 돌려 줍 니 다
bool empty () const 가 비어 있 는 지 여부
iterator erase (iterator pos) pos 가 가리 키 는 요 소 를 제거 합 니 다
iterator find (const Key & key) 는 key 에서 찾 은 키 값 에 맞 는 itreator
를 되 돌려 줍 니 다.
const_iterator find (const Key & key) const const 버 전
iterator insert (const Key & key, const T & value) 는 키 쌍 을 삽입 하고, 삽 입 된 키 가 존재 하면 원래 키 쌍 을 교체 합 니 다.이 키 가 여러 value 와 연결 되 어 있다 면 마지막 으로 삽 입 된 키 쌍 은 덮어 씁 니 다
iterator insert Multi (const Key & key, const T & value) 는 하나의 key 를 여러 개의 value
와 연결 시 킬 수 있 습 니 다.
const Key key (const T & value) const 는 value 에 따라 첫 번 째 key
를 가 져 옵 니 다.
QList keys () const
QList keys ( const T & value ) const
int remove ( const Key & key )
int size () const
T take ( const Key & key )
std::map toStdMap () const
QList uniqueKeys () const
const T value ( const Key & key ) const
const T value ( const Key & key, const T & defaultValue ) const
QList values () const
QList values ( const Key & key ) const
소결:
Qt 에서 키 쌍 을 저장 할 클래스 템 플 릿 을 제공 합 니 다
QHash 와 QMap 은 같은 인 터 페 이 스 를 따른다
QHash 의 검색 속 도 는 QMap
보다 빠르다.
QMap 에 필요 한 메모리 공간 은 QHash
보다 작 습 니 다.
QHash 는 key 유형 에 대한 요구 가 QMap
보다 높다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: