在map集合中
values():方法是獲取集合中的所有的值----沒有鍵,沒有對應關係,
keyset():
將map中所有的鍵存入到set集合中。因為set具備迭代器。所有可以迭代方式取出所有的鍵,再根據get方法。獲取每乙個鍵對應的值。 keyset():迭代後只能通過get()取key
entryset():
set> entryset() //返回此對映中包含的對映關係的 set 檢視。 map.entry表示對映關係。entryset():迭代後可以e.getkey(),e.getvalue()取key和value。返回的是entry介面 。
下面通過例子看看:
mapmap = new hashmap();
map.put("01", "zhangsan");
map.put("02", "lisi");
map.put("03", "wangwu");
collectioncollection = map.values();//返回值是個值的collection集合
system.out.println(collection);
列印結果:
[zhangsan, lisi, wangwu]
setkeyset() //返回值是個只存放key值的set集合(集合中無序存放的)
set> entryset() //返回對映所包含的對映關係的set集合(乙個關係就是乙個鍵-值對),就是把(key-value)作為乙個整體一對一對地存放到set集合當中的。
一. keyset()方式。
mapmap = new hashmap();
map.put("01", "zhangsan");
map.put("02", "lisi");
map.put("03", "wangwu");
setkeyset = map.keyset();//先獲取map集合的所有鍵的set集合
iteratorit = keyset.iterator();//有了set集合,就可以獲取其迭代器。
while(it.hasnext())
二. entryset()方式:
mapmap = new hashmap();
map.put("01", "zhangsan");
map.put("02", "lisi");
map.put("03", "wangwu");
//通過entryset()方法將map集合中的對映關係取出(這個關係就是map.entry型別)
set> entryset = map.entryset();
//將關係集合entryset進行迭代,存放到迭代器中
iterator> it2 = entryset.iterator();
while(it2.hasnext())
雖然使用keyset及entryset來進行遍歷能取得相同的結果
但兩者的遍歷速度是有差別的
keyset():迭代後只能通過get()取key
entryset():迭代後可以e.getkey(),e.getvalue()取key和value。返回的是entry介面
說明:keyset()的速度比entryset()慢了很多,也就是keyset方式遍歷map的效能不如entryset效能好
為了提高效能,以後多考慮用entryset()方式來進行遍歷。
map 遍歷方法
最常規的一種遍歷方法,最常規就是最常用的,雖然不複雜,但很重要,這是我們最熟悉的,就不多說了!public static void work mapmap 利用keyset進行遍歷,它的優點在於可以根據你所想要的key值得到你想要的 values,更具靈活性!public static void w...
map遍歷方法
最常規的一種遍歷方法,最常規就是最常用的,雖然不複雜,但很重要,這是我們最熟悉的,就不多說了!public static void work mapmap 利用keyset進行遍歷,它的優點在於可以根據你所想要的key值得到你想要的 values,更具靈活性!public static void w...
Map遍歷的方法
一.遍歷方法 1.只遍歷value for string value map.values 2.keyset遍歷key和value for string key map.keyset 3.entryset使用iterator遍歷key和value iterator it map.entryset i...