常见获取方法如下
我们直接用代码来演示一下
首先是get
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.get("孙策"));
}
运行结果如下
从上面添加的数据我们可以看出 孙策这条键对应的值就是周瑜
所以我们通过 孙策这个键 获取到了键对应的值 周瑜
这就是get方法的作用
如果你传的键值不存在 则 返回null
接下来我们来看keySet方法
这个方法会获取集合中所有的键
他会返回一个 set集合 因为键是不可能重复的 set集合的特性也是不会重复
然后我们将 System.out.println(map.get(“孙策”)); 改成
我们用set集合 一定要记得导包 import java.util.Set;
Set<String> MapSet = map.keySet();
for(String key : MapSet) {
System.out.println(key);
}
运行结果如下
可以看出 我们定义了 set类型的MapSet 接受keySet 返回的数据
keySet 返回的是一个set集合 所以我们用增强for 遍历输出了 set集合
我们可以看出 他确实也输出了 集合中每一个键
然后看 values 获取集合所有值的方法
我们把刚刚写的
Set MapSet = map.keySet();
for(String key : MapSet) {
System.out.println(key);
}
改成
Collection<String> collection = map.values();
for(String key : collection){
System.out.println(key);
}
values会返回一个Collection 因为值并没有限制 他是存在重复值的情况的 所以values就返回了一个Collection集合
用 Collection 也不要用了导包 import java.util.Collection;
运行结果如下
这里可以看到 我们用Collection类型的MapSet 接受了values的返回值 就是一个Collection集合
然后用增强for
循环输出 可以看到 他存储了集合中所有的值
entrySet 方法
可以获取整个集合的键值对 成一个 set集合 是遍历神奇
将
for(String key : collection){
System.out.println(key);
}
改成
Set<Map.Entry<String,String>> entrySet = map.entrySet();
for(Map.Entry<String,String> key : entrySet) {
System.out.println("键:"+key.getKey()+" 值:"+key.getValue());
}
运行结果如下
我们可以看出 我们用一个键值对集合接受了entrySet方法 然后通过增强for 遍历了 set集合
set中的每一个元素都有一个getKey 获取键 getValue获取值的方法
这样我们输出的键值对 结果 也是没有任何问题