您的位置:首页 > 其它

遍历Map的四种方法

2017-04-09 13:23 337 查看
package test;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

/*

 * map遍历的几种方法

 */

public class MapInterator {

public
static void main(String
args[]){

Map<String, String>
map = new HashMap<String,String>();

map.put("1",
"one");

map.put("2",
"two");

map.put("3",
"three");

map.put("4",
"four");

System.out.println("-----------1------------");

function1(map);

System.out.println("------------2-----------");

function2(map);

System.out.println("-----------3------------");

function3(map);

System.out.println("-------------4----------");

function4(map);

}

/*

* 第一种:通过map.keySet(),遍历key,通过key拿value

*/

public
static <V, K> void function1(Map<K,V>
m){

for(K
key: m.keySet()){

V v=
m.get(key);

System.out.println(v);

}

}

/*

* 第二种:通过map.entrySet().iterator()拿到iterator;通过iterator.next()拿到Entry<K,V>,拿到value

*/

public
static <K, V> void function2(Map<K,V>
m){

Iterator<Entry<K, V>>
it= m.entrySet().iterator();

while(it.hasNext()){

Entry<K,V> entry=
it.next();

V v=entry.getValue();

System.out.println(v);

}

}

/*

* 第三种:通过map.entrySet(),遍历Entry<K,V>

*/

public
static <K, V> void function3(Map<K,V>
m){

Set<Entry<K,V>>
entry = m.entrySet();

for(Entry<K,V>
e:entry){

V v =
e.getValue();

System.out.println(v);

}

}

/*

* 第四种:通过map.values(),遍历value

*/

public
static <K, V> void function4(Map<K,V>
m){

Collection<V> cv =m.values();

for(V
v:cv){

System.out.println(v);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: