遍歷Map key value的兩種方法

2022-07-19 06:06:14 字數 639 閱讀 2223

以前遍歷map key-value比較習慣的方式是先獲取map中的所有key值,然後根據key,依次從map中去資料,基本方式如下:

maptestdata = new hashmap();

………………………………………………一些賦值操作………………………………...

setkeys = testdata.keyset();

for(string key :keys)

上述其中是第一種方法,原來一直用上述方法主要是自己有點懶,有了一種方法後就覺得夠用的了,今天看原始碼,發現還map介面中還有乙個entry的介面,對應的還有乙個 set> entryset();方法。也就是說其實map中的每條key-value資料對應著乙個entry,這樣的話遍歷map其實就是要取出每個entry,也就有了第二種遍歷方法

set> entries = testdata.entryset();

for (entrystring> entry : entries)

當少量的資料時,上述兩種方法的效率是差不多的,當資料比較多時,第二種還是要比第一種塊。

當然上述說的兩種遍歷針對的情況是遍歷出key-value,如果是只想遍歷key或value,大可不必用以上的方法了,map中提供了setkeyset()和collectionvalues()。

遍歷Map key value的兩種方法

以前遍歷map key value比較習慣的方式是先獲取map中的所有key值,然後根據key,依次從map中去資料,基本方式如下 maptestdata new hashmap 一些賦值操作 setkeys testdata.keyset for string key keys 上述其中是第一種方...

遍歷Map的兩種方法

jdk1.5的新特性 增強for迴圈,底層是用 迭代器 實現的。所以,迭代器遍歷map的方式一般都可以用 增強for迴圈 來替代。下面的例子,我會等價給出同一原理下,迭代器 和 增強for迴圈 的不同寫法。從而也可以體會 增強for迴圈 的優越性。map map new hashmap map.pu...

兩大搜尋 tu的遍歷

在我們遇到的一些問題當中,有些問題我們不能夠確切的找出數學模型,即找不出一種直接求解的方法,解決這一類問題,我們一般採用搜尋的方法解決。搜尋就是用問題的所有可能去試探,按照一定的順序 規則,不斷去試探,直到找到問題的解,試完了也沒有找到解,那就是無解,試探時一定要試探完所有的情況 實際上就是窮舉 深...