課程
/后端開發
/Java
/JAVA遇見HTML——Servlet篇
為啥遍歷商品集合的時候又可以用增強for循環?在前面一節獲取鍵的集合的時候又只能用迭代器?求解?
2016-12-20
源自:JAVA遇見HTML——Servlet篇 2-8
正在回答
這個是一樣的,最后的結果就是遍歷整個集合,你說的前面一節用迭代器,因為set集合實現了Serializable接口,所以可以用迭代器來遍歷整個集合,當然你也可以用增強for循環,這都是可以的。
對于你說的,現在遍歷商品集合時候用增強·for循環,其實你可以用迭代器,只不過的得到i.next()的類型是Map.Entry<items,number>,其他都是一樣的,你可以試一下,祝你好運。
weiiNice 提問者
實際的原因是因為HashMAP為無序存放的存儲結構,他沒有索引一說,只能靠一個鍵值去查找對應的值,而代碼中定義了一個有序的SET,目的就是為了使用索引來更方便的遍歷,SET的范型設定為MAP.entry,而MAP.entry其實是一個類型,類似int之類的類型,這個類型就是以鍵值對的形式存放數據的類型,在hashmap中自帶一個叫做entrySet()的方法,就是用于將里面存放的數據轉換為這種類型,使他可以放在有序表中,作為表項,然后就可以使用有序表可用的FOR 去遍歷索引,所以可以使用增強FOR。
不用客氣
我試了一下,你看看
舉報
本門課程在JSP課程的基礎上,深入介紹Servlet的基礎知識
1 回答關于集合的循環
3 回答循環遍歷怎么是這種寫法?
5 回答遍歷map時候sum+=i.getprice() * goods.get(i);
3 回答為什么都判斷為商品了 還要強制類型轉換成商品?
1 回答商品遍歷不是很理解 Set<Map.Entry<Items, Integer>>
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-25
這個是一樣的,最后的結果就是遍歷整個集合,你說的前面一節用迭代器,因為set集合實現了Serializable接口,所以可以用迭代器來遍歷整個集合,當然你也可以用增強for循環,這都是可以的。
對于你說的,現在遍歷商品集合時候用增強·for循環,其實你可以用迭代器,只不過的得到i.next()的類型是Map.Entry<items,number>,其他都是一樣的,你可以試一下,祝你好運。
2017-03-07
實際的原因是因為HashMAP為無序存放的存儲結構,他沒有索引一說,只能靠一個鍵值去查找對應的值,而代碼中定義了一個有序的SET,目的就是為了使用索引來更方便的遍歷,SET的范型設定為MAP.entry,而MAP.entry其實是一個類型,類似int之類的類型,這個類型就是以鍵值對的形式存放數據的類型,在hashmap中自帶一個叫做entrySet()的方法,就是用于將里面存放的數據轉換為這種類型,使他可以放在有序表中,作為表項,然后就可以使用有序表可用的FOR 去遍歷索引,所以可以使用增強FOR。
2016-12-29
不用客氣
2016-12-25