通过API可以详细查看Map接口包含的具体方法。重点的方法包括:
案例一:Map接口的基本使用
package com.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* Map接口的使用
* 特点:存储键值对;键不能重复,值可以重复
*/
public class Demo01 {
public static void main(String[] args) {
//创建Map集合:Map是接口,只能用实现类HashMap来new对象
//Map的键值对都是String类型
Map<String, String> map = new HashMap<>();
//1添加元素
map.put("cn", "中国");
map.put("uk","英国");
map.put("usa","美国");
map.put("cn","zhongguo"); //与前面的键相同,会覆盖之前的
System.out.println("元素个数:"+map.size());
System.out.println(map.toString());
//2删除
map.remove("usa"); //只需要输入key就行
System.out.println("删除之后:"+map.size());
//遍历
//3.1使用keySet()
System.out.println("--------keySet()------------");
Set<String> set = map.keySet(); //返回值类型为Set
for (String key : set) {
System.out.println(key+":"+map.get(key)); //get(key)方法表示通过key获取value
}
//3.2使用entrySet()方法 将键值对封装成Entry(键值对)
System.out.println("--------entrySet()------------");
Set<Map.Entry<String, String>> entries = map.entrySet(); //返回值是Set集合,Map.Entry是内部接口
for (Map.Entry<String, String> entry : entries) {
System.out.println("key:"+entry.getKey()+" value:"+entry.getValue());
}
//4判断
System.out.println(map.containsKey("cn"));
System.out.println(map.containsValue("英国"));
}
}
结果:
两种遍历方法的图示。两个方法的返回值都为Set集合。