Map遍歷方法

2021-07-30 17:04:33 字數 1764 閱讀 3786

在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...