遍历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);
}
}
}
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);
}
}
}