Shell中map的使用

2022-05-03 12:06:13 字數 981 閱讀 6541

shell中的map與array有很多的相似之處,array操作:

一、在使用map時,需要先宣告,否則結果可能與預期不同,array可以不宣告

declare -a map

二、初始化map

與array類似,可以使用括號直接初始化,也可以通過新增的方式來初始化資料,與array不同的是,括號直接初始化時使用的為乙個鍵值對,新增元素時,下標可以不是整數

map=(["

aa"]="

11" ["

bb"]="22"

)map[

"name

"]="

val"

map[

""]="

pen"

三、輸出所有的key

若未使用declare宣告map,則此處將輸出0,與預期輸出不符,此處輸出語句格式比arry多了乙個!

echo $

四、輸出所有value

與array輸出格式相同

echo $

五、輸出map長度

與array輸出格式相同

echo $

六、遍歷,根據key找到對應的value

for key in $;do

echo

$done

七、遍歷所有的key

for key in $;do

echo

$key

done

八、遍歷所有的value

for val in $;do

echo

$val

done

如上,可以發現,map與arry有很多的相似之處,在儲存上兩者最大的區別可能是array的key只能為整數,而map的key則可以為任何值

實際應用

stl中map的使用

map與set類似,都是乙個關聯式容器,但是與set不同的是他鍵值分離的,key,value 結構,在map結構中元素是不允許重複的。在學習的過程中,我們需要主要一些問題 就是在關聯式容器中,當資料很大的時候,使用其中的查詢演算法是很快速的,應該使用其提供的函式來實現查詢函式等等高,會比使用stl中...

C C 中map的使用

c 中的stl中有map這一資料型別,其作用就是把兩個資料關聯起來,下面給出他的例項 include 這一點必不可少 然後宣告map mapmapstudent 可以載入為其他的元素都可以 然後插入資料 mapstudent,insert pair 5,student 這種是通過pair方式插入,還...

STL中的map使用

set 集合 包含了經過排序了的資料,這些資料的值 value 必須是唯一的。map 對映 經過排序了的二元組的集合,map中的每個元素都是由兩個值組成,其中的key 鍵值,乙個map中的鍵值必須是唯一的 是在排序或搜尋時使用,它的值可以在容器中重新獲取 而另乙個值是該元素關聯的數值。map和set...