HashMap 的使用
import java.util.*;
public class TestHashMap {
public static void main(String[] args) {
//使用HashMap存储域名和含义键值对的集合
Map domains = new HashMap();
domains.put("com", "工商企业");
domains.put("net", "网络服务商");
domains.put("org", "非营利组织");
domains.put("edu", "教研机构");
domains.put("gov", "政府部门");
//通过键获取值
String op = (String) domains.get("edu");
System.out.println("edu国际域名对应的含义为:" + op);
//判断是否包含某个键
System.out.println("domains键值对集合中是否包含gov:" + domains.containsKey("gov"));
//删除键值对
domains.remove("gov");
System.out.println("删除后集合中是否包含gov:" + domains.containsKey("gov"));
//输出全部键值对
System.out.println(domains);
}
}
总结 Map 接口的常用方法如下。
-
Object put(Object key,Object value)
将指定键值对(key 和 value)添加到 Map 集合中,如果此 Map 集合以前包含一个该键 key 的键值对,则用参数 key 和 value 替换旧值。
-
Object get(Object key)
返回指定键 key 所对应的值,如果此 Map 集合中不包含该键 key,则返回 null。
-
Object remove(Object key)
如果存在指定键 key 的键值对,则将该键值对从此 Map 集合中移除。
-
Set keySet()
返回此 Map 集合中包含的键的 Set 集合。在上面的程序最后添加下面的语句:
System.out. println(domains.keySet());
,则会输出[com, edu, org, net]
。 -
Collection values()
返回此 Map 集合中包含的值的 Collection 集合。在上面的程序最后添加下面的语句:
System.out.println(domains.values());
,则会输出[工商企业,教研机构,非营利组织,网络服务商]
。 -
boolean containsKey(Object key)
如果此 Map 集合包含指定键 key 的键值对,则返回 true。
-
boolean containsValue(Object key)
如果此 Map 集合将一个或多个键 key 对应到指定值,则返回 true。
-
int size()
返回此 Map 集合的键值对的个数。
遍历Map:
遍历 Map 的方法就是,先将 Map 集合(或 Map 集合的部分元素)转换成单值集合的形式,然后使用增强 for 或者迭代器 Iterator 遍历即可。简言之:Map -> 转换为单值集合 -> 使用增强 for 或者迭代器 Iterator 遍历。