map的相關知識

2021-10-03 20:21:02 字數 880 閱讀 9601

今天刷到一道leetcode題,題目是這樣的:

題目大概意思就是找出具有相同的字母,但是字母之間的順序是不同的單詞,一開始我是設想設定乙個雜湊表,利用字母對映來記錄單詞中每個字母出現的次數,但是後面將字母異位詞放在一起不能實現,參***使用了map函式,發現自己對這一知識不懂,於是學習一下

參考這篇文章map學習

template,

class alloc=allocator>

>class map;

map是stl的乙個關聯容器,它提供一對一的hash。

map以模板方式實現,可以儲存任意型別的資料,包括自己定義的資料型別,map內部的實現自建一棵紅黑樹這顆樹具有對資料自動排序的功能

map功能

自動建立key-value的對應關係,key和value可以是任何型別

模板引數

t

compare

alloc

map容器屬性

有序性:容器中的元素一直按照排序的方式嚴格排序,所有插入元素都按照該順序排列

唯一key值:容器中不存在同時擁有相同的key值得兩個元素

分配與感知:map容器使用分配器物件動態處理其儲存需求

map的相關知識

map的本質是對雜湊表的引用 map中元素的迭代順序是不固定的 不同的實現方法會使用不同的雜湊演算法,得到不同的元素順序 map的建立與宣告。鍵的型別k必須是可以通過 來進行比較的 ages1 make map string int ages1 vila 22 ages1 anny 21 ages2...

Map集合相關知識

1 map集合 map集合區別於collection集合,是它是以鍵值對 key value 儲存資料。可以儲存一對物件,即可以儲存兩個物件,而且這兩個物件是key value結構的,就是這個兩個物件是有對映關係的。這種結構的最大的好處,就是可以根據key找到關聯的value值。map介面的定義 p...

Map相關知識總結

map主要用於儲存健值對,根據鍵得到值,因此不允許鍵重複 重複了覆蓋了 但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度,遍歷時,取得資料的順序是完全隨機的。hashmap最多隻允許一條記錄的鍵為null 允許多...