java.util.Map是java工具类里的接口,Map.Entry是Map里的一个内部接口。
Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对),简单来说就是Map的一个键值对。接口中有getKey(),getValue方法。
Map常用API:
- keySet() : 返回Map中key值的集合
- entrySet() : 返回类型为Map.Entry的集合
- values() : 返回Map中所有的value值
- size() : 返回Map的长度
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Solution{
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
//第一种:二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种:迭代器
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> next = iterator.next();
System.out.println("key= " + next.getKey() + " and value= " + next.getValue());
}
//第三种:改进,推荐
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> next : map.entrySet()) {
System.out.println("key= " + next.getKey() + " and value= " + next.getValue());
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
}