HashMap類這個容器是不是不能用foreach直接遍歷?
HashMap類這個容器是不是不能用foreach直接遍歷?
因為看到老師打的testentryset()里頭先用一個set<entry<string,student>>容器保存了students里的鍵值對,然后再遍歷他,我想能不能直接遍歷students這個容器?
HashMap類這個容器是不是不能用foreach直接遍歷?
因為看到老師打的testentryset()里頭先用一個set<entry<string,student>>容器保存了students里的鍵值對,然后再遍歷他,我想能不能直接遍歷students這個容器?
2016-08-09
舉報
2016-08-09
2016-08-09
迭代器實現(xiàn)了Iterable接口則允許對象成為“foreach”語句的目標,類集接口Collection是Iterable的子接口,而映射Map并沒有。
2016-08-09
可以直接遍歷,兩種遍歷的思路不一樣,第一個是通過keySet()方法獲得一個鍵的集合,再通過鍵獲得值(學生對象)。
第二種方法是獲得鍵值對的集合,這樣從集合中取得每一個對象獲取鍵,獲取值就可以了。
我感覺這兩種方式其實都算直接遍歷,因為集合中的內(nèi)容不是一個值而是一對值,為了保證鍵和值對應你不能直接取鍵再取值,有可能不對應。