第一种,先用keySet()方法获取key,再通过key来获取value,效率较低
代码演示:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class demo {
public static void main(String[] args) {
Map hashMap=new HashMap();
hashMap.put("张一", "62100001");
hashMap.put("张二", "62100002");
hashMap.put("张三", "62100003");
hashMap.put("张四", "62100004");
hashMap.put("张五", "62100005");
Iterator in=hashMap.keySet().iterator();
//通过迭代器的方式获取key
for (int i = 0; in.hasNext(); i++) {
Object key=in.next();
Object value=hashMap.get(key);
System.out.println("key:"+key+" , value:"+value);
}
}
}
第二种,先用entrySet()方法获取映射关系,再通过getKey()、getValue()方法直接取值,效率较高
代码演示:
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class demo {
public static void main(String[] args) {
Map hashMap=new HashMap();
hashMap.put("张一", "62100001");
hashMap.put("张二", "62100002");
hashMap.put("张三", "62100003");
hashMap.put("张四", "62100004");
hashMap.put("张五", "62100005");
Set set =hashMap.entrySet();
//通过foreach的方式取具有映射关系的元素
for (Object o:set) {
Map.Entry emm=(Map.Entry)o;
Object key=emm.getKey();
Object value=emm.getValue();
System.out.println("key:"+key+" , value:"+value);
}
}
}
注意:
- 第二种取key和value值的方法:
通过foreach循环取到具有映射关系的Set集合元素后,想获取key和value,就要把取到的元素强转成Map.Entry类型,并且引用给一个Map.Entry类型的对象,才可以调用Map.Entry接口提供的getKey()和getValue()方法;