叠代集合的叠代器。
Java . util . iterator it = map . entry set()。叠代器();
while(it.hasNext()){
Java . util . map . entry entry =(Java . util . map . entry)it . next();
Entry.getKey() //返回相應的鍵。
Entry.getValue() //返回相應的值。
}
在過去,遍歷Map鍵值的通常方法是首先獲取Map中的所有鍵值。
然後按鍵,依次從地圖上刪除數據,基本方式如下:
地圖& ltString,String & gttestData = new HashMap & ltString,String & gt();
設置& lt字符串& gtkeys = testdata . keyset();
for(字符串密鑰:密鑰){
system . out . println(key+" "+testdata . get(key));
}
以上方法中有壹種是第壹種。以前因為有點懶,就用上面的方法。我有了方法之後,覺得這樣就夠了。今天看源代碼發現還有壹個條目< K,V & gt接口,對應於壹個集合
也就是說,實際上Map中的每個鍵值數據都對應壹個條目,所以遍歷Map實際上就是把每個條目都拿出來,還有第二種遍歷方法:
設置& ltEntry & ltString,String & gt& gtentries = test data . entry set();
for(Entry & lt;String,String & gt條目:條目){
system . out . println(entry . getkey()+":"+entry . getvalue());
}
當數據量很小時,上述兩種方法的效率差不多,當數據量很大時,第二種方法仍然比第壹種快。
當然,上面提到的兩種遍歷都是針對鍵值的遍歷。如果只是想遍歷鍵或者值,就不需要用上面的方法了。壹組