map小節

2022-08-05 12:24:16 字數 623 閱讀 1139

很多時候我們在遇到map遍歷時,我們首先會想到的是用for迴圈一個一個的遍歷,但有沒有想過用迭代器iterator呢?

下面是一個用iterator遍歷map的例子

for(iterator iter = map.entryset().iterator(); iter.hasnext();){

map.entry entry = (map.entry) iter.next();

string key = (string) entry.getkey();

string value = (string ) entry.getvalue();

可能大家覺得這沒什麼,還得申請iterator,並不值得。

先了解一下iterator的原理吧

迭代器的基本原理:

由於不同集合的資料結構不同,取出元素方式不同。

為了方便於對每一個容器進行取出的操作,對容器進行共性的抽取。

好處:降低了資料結構的耦合性。

iterator的特點是:將遍歷一個序列的操作與此序列底層結構香分離.

iterator隱藏了容器底層的結構.

迭代器是一個物件,它的工作是遍歷並選擇序列中的物件,而客戶端程式設計師不必知道或關心該序列底層的結構.而且建立它的代價小.

map 和 unordered map

map就是對映。 定義 map注 map的元素是pair。 特性 map會對第一個物件自動排序。 map不允許有兩個相同的關鍵字。 map可以定義迭代器iterator。當然,map相當於一個像pair的結構體,要訪問元素時注意使用 或者 it first second。 first是key sec...

Go map

var a map int string var 變數名 map key的資料型別 values資料型別 map的空值 nil if a n...

Go map

map 類似於hashtable或者dictionary,使用key value 對子的形式來表示。 key 必須由支援 或者 比較運算子,...