java Map集合获取方法

常见获取方法如下
java Map集合获取方法_第1张图片
我们直接用代码来演示一下

首先是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("孙策"));
}

运行结果如下
java Map集合获取方法_第2张图片
从上面添加的数据我们可以看出 孙策这条键对应的值就是周瑜
所以我们通过 孙策这个键 获取到了键对应的值 周瑜
这就是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);
}

运行结果如下
java Map集合获取方法_第3张图片
可以看出 我们定义了 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;
运行结果如下
java Map集合获取方法_第4张图片
这里可以看到 我们用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());
}

运行结果如下
java Map集合获取方法_第5张图片
我们可以看出 我们用一个键值对集合接受了entrySet方法 然后通过增强for 遍历了 set集合

set中的每一个元素都有一个getKey 获取键 getValue获取值的方法

这样我们输出的键值对 结果 也是没有任何问题

你可能感兴趣的:(java,jvm,数据结构)