iterator> iter=map.entryset().iterator();
map的迭代器,用作遍歷map中的每乙個鍵值對
iterator是迭代器,map之前應該定義過,姑且認為是hashmap。
>表示map中的鍵值對都是string型別的。
map.entryset()是把hashmap型別的資料轉換成集合型別。
map.entryset().iterator()是去獲得這個集合的迭代器,儲存在iter裡面。
迭代器這麼用:
while(iter.hasnext())
iteratoriter;//宣告乙個迭代器,泛型裡面是string型別,表示迭代元素是string型別的。
iterator> iter;//而你提供的要稍微複雜一點,迭代元素本身就是乙個entry鍵值對,
entry表示其key值是string,value值也是string。
hashset set=map.entryset();//將map型別資料轉換成集合set型別的。
iter=set.iterator();//獲得集合的迭代器。迭代器只針對集合型別的資料,
因此map型別的必須先轉換成集合型別才能使用迭代器去獲取元素。
keyset獲得的只是key值的集合,
values獲得的是value集合,
entryset獲得的是鍵值對的集合。
map迭代器的基本用法
stl官方描述太過複雜,總結有以下幾種用法 begin 返回指向map頭部的迭代器 clear 刪除所有元素 count 返回指定元素出現的次數 empty 如果map為空則返回true end 返回指向map末尾的迭代器 equal range 返回特殊條目的迭代器對 erase 刪除乙個元素 f...
Map介面和迭代器
使用iterator迭代器的缺點 1.listiterator有add 方法,可以向list中新增物件,而iterator不能 2.listiterator和iterator都有hasnext 方法,可以實現順序向後遍歷,但是 listiteator裡面有hasprevious 和previous ...
C 中map的迭代器操作
c 中map的迭代器操作 可以直接插入pair型別,也可以進行直接賦值 pair型別的左邊是第一關鍵字,右邊是第二關鍵字,顯然,map是由紅黑樹封裝起來的,所以支援動態維護平衡樹,因此,遍歷map的時候第一關鍵字的資料是有序的 include include include include incl...