package com;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
//循环遍历map的方法
public class test {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "java");
map.put(2, "html");
map.put(3, "c++");
map.put(4, "php");
map.put(5, "vb");
//keyset()遍历
System.out.println("迭代器遍历");
Iterator <Integer> it=map.keySet().iterator();
while(it.hasNext()){
int key=it.next();
String value=map.get(key);
System.out.println(key+"--"+value);
}
System.out.println("for-each遍历");
for(Integer s:map.keySet()){
System.out.println(s+"--"+map.get(s));
}
System.out.println();
//value()遍历
System.out.println("迭代器遍历");
Iterator<String> iter=map.values().iterator();
while(iter.hasNext()){
String value=iter.next();
System.out.println(value);
}
System.out.println("for-each遍历");
for(String i:map.values()){
System.out.println(i);
}
System.out.println();
//entryset()遍历
System.out.println("迭代器遍历");
Iterator<Entry<Integer, String>> iterator=map.entrySet().iterator();
Entry<Integer,String> entry;
while(iterator.hasNext()){
entry=iterator.next();
int key=entry.getKey();
String value=entry.getValue();
System.out.println(key+"--"+value);
}
System.out.println("for-each遍历");
for(Entry<Integer,String> en:map.entrySet()){
int key=en.getKey();
String value=en.getValue();
System.out.println(key+"--"+value);
}
}
}
一般来说,遍历key时用keyS et(),遍历value时用values(),key与value都需要时可用keyS et()也可用entryS et()。