import java.util.Map;
import java.util.HashMap;
public class text {
public static void main(String args[]) {
Map<String,String> map = new HashMap<String,String>();
map.put("嬴政","白起");
map.put("刘备","赵云");
map.put("勾践","管仲");
map.put("姬发","哪吒");
map.put("孙策","周瑜");
map.put("刘邦","张良");
System.out.println(map);
}
}
运行结果如下
我们可以看到 这里我们通过import引入了java.util下的Map和HashMap
然后我们通过HashMap类实现了Map接口 map就成为了一个Map集合 他规定 集合中的键和值都是String字符串类型
然后我们用了Map的第一个方法 put添加元素
我们以 君为键 以臣为值
添加了六对 君臣 组合 然后通过System.out.println将 Map打印出来
这样就演示出了 我们第一个put方法的作用
我们来看 remove 删除方法
然后我们在 System.out.println(map);前加一句
System.out.println(map.remove("勾践"));
运行结果如下
我们 remove 传了 勾践 方法返回了 管仲
我们可以看到后面打印的Map 真的就少了 勾践对管仲 这对君臣组合就不见了
说明 remove接受一个参数 是键 匹配和参数相同的键 然后找到后删除这对键值对 并将键对应的值返回给你
如果你给remove传递值 他匹配不到键 则不会删除数据 也不会报错 方法会返回一个 null给你
我们来看 clear清空 方法
然后我们将 System.out.println(map.remove(“勾践”));换成
map.clear();
运行结果如下
可以看到这一个clear直接就给我们一个一个加进去的元素直接全干掉了
map.clear的作用就是清空整个集合的元素
比较简单粗暴
然后我们来尝试 containsKey
将map.clear(); 换成
System.out.println(map.containsKey("孙策"));
运行结果如下
从下面整个map输出的结果 我们可以确定的是 孙策这个键 是存在的 所以containsKey返回了true
然后我们用一个没有的键
将 System.out.println(map.containsKey(“孙策”));改成
System.out.println(map.containsKey("曹丕"));
因为曹丕这个键不存在 所以containsKey返回了false
containsKey的作用就是判断 map中是否有某一个键
containsValue判断值是否存在
containsValue和containsKey的基本用法是一样 但他是判断是否有指定的值
isEmpty非空判断
我们将
System.out.println(map.containsKey(“曹丕”));
换成
System.out.println(map.isEmpty());
运行结果如下
我们 isEmpty 返回了 false 因为我们集合中是有元素的啊
我们把之前所有的 put去掉
public static void main(String args[]) {
Map<String,String> map = new HashMap<String,String>();
System.out.println(map.isEmpty());
System.out.println(map);
}
运行结果如下
这是我们的集合就是空的了 isEmpty返回了true
size获取集合键值对数量
我们将 System.out.println(map.isEmpty());改成
System.out.println(map.size());
运行结果如下
因为我们里面没有键值对 集合都是空的 所以他返回了0 表示有0个键值对
那么我们把添加元素的代码加回去
public static void main(String args[]) {
Map<String,String> map = new HashMap<String,String>();
map.put("嬴政","白起");
map.put("刘备","赵云");
map.put("勾践","管仲");
map.put("姬发","哪吒");
map.put("孙策","周瑜");
map.put("刘邦","张良");
System.out.println(map.size());
System.out.println(map);
}