Iterator > iter=map.entrySet().iterator(); 是什么意思


//獲得map的迭代器,用作遍歷map中的每一個鍵值對
Iterator是迭代器,map之前應該定義過,姑且認為是HashMap。
<Entry<String,String>>表示map中的鍵值對都是String類型的。
map.entrySet()是把HashMap類型的數據轉換成集合類型
map.entrySet().iterator()是去獲得這個集合的迭代器,保存在iter里面。。
迭代器這么用:
while(iter.hasNext()) {
Entry obj = it.next();//就能獲得map中的每一個鍵值對了
}

----------------------------------------------------------------------------

Iterator<Entry<String,String>> iter=map.entrySet().iterator();按正常思路來寫怎樣寫
(調用entrySet()和iterator()不是分開寫的嗎?
為什么Entry的首字母要大寫
----------------------------------------------------------------
Iterator<String> iter;//聲明一個迭代器,泛型里面是String類型,表示迭代元素是String類型的
Iterator<Entry<String,String>> iter;//而你提供的要稍微復雜一點,迭代元素本身就是一個Entry鍵值對,
Entry<String,String>表示其key值是String,value值也是String。

后面部分:
HashSet set=map.entrySet();//將map類型數據轉換成集合set類型的。
iter=set.iterator();//獲得集合的迭代器。迭代器只針對集合類型的數據,
因此map類型的必須先轉換成集合類型才能使用迭代器去獲取元素。

Entry首字母大寫是因為它是java提供的類。。類首字母大寫這是JavaBean規范

不明白繼續問。。
---------------------------------------------------------------------------------------------
我學習的時候,HashMap使用Iterator迭代時,用keySet()來獲得,在什么情況下,
使用entrySet(),兩者有什么區別
-------------------------------------------------------------------------------------------
keySet獲得的只是key值的集合,
values獲得的是value集合,
entryset獲得的是鍵值對的集合。
具體怎么用看你自己情況需要哈。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM