map遍历主要是根据key遍历,value遍历和key-value遍历三种。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Test_06_map {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("student", "张三");
map.put("teacher", "李四");
map.put("people", "王五");
//第一种:通过map的keyset循环,可以循环key和value
for (String key : map.keySet()) {
System.out.println("key=" + key+",value="+map.get(key));
}
for(int i=0;i<map.keySet().size();i++){
System.out.println(">>>>ma"+map.keySet().iterator().next());
}
//第二种:通过map的values循环,只能循环value,不能循环key
for (String value : map.values()) {
System.out.println("value=" + value);
}
//第三种:通过map的entry循环,可以循环key和value,Entry可以写成Map.Entry下面迭代器使用这种写法
for (Entry<String, String> s : map.entrySet()) {
System.out.println("key:" + s.getKey() + ",value:" + s.getValue());
}
//第四种:通过map的entry循环,使用迭代器遍历,可以遍历key和value
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while(it.hasNext()){
System.out.println(it.next());
}
//第五种:通过keyset的迭代器循环遍历
Iterator<String> it2 = map.keySet().iterator();
while(it2.hasNext()){
String key = it2.next();
System.out.println(">>>>>>it2.key:"+key);
System.out.println(">>>>>>it2.value"+map.get(key));
}
//第六种:可以通过迭代器遍历value值
Iterator<String> it3 = map.values().iterator();
while(it3.hasNext()){
System.out.println(">>>>>>it3.value"+it3.next());
}
//........还可以使用for普通循环和while循环来遍历,但原则就是根据key,value,和key-value三种方式..........
}
}