Map接口中的常用方法和Map集合遍历键找值方式

Map接口中定义了很多方法,常用的如下:

public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作)

V remove(Object key); 如果此映射中存在该键的映射关系,则将其删除

V get(Object key); 返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null

Set<K> keySet();返回此映射中所包含的键的 set 视图

Set<Map.Entry<K,V>> entrySet();返回此映射所包含的映射关系的 collection 视图

boolean containsKey(Object key)如果此映射包含对于指定的键的映射关系,则返回 true

复制代码
public static void main(String[] args) {
/**
 * public V put(K key,V Value):把指定的键与值添加到Map集合中
 * 返回值V
 * 存储键值对的时候,key不重复,返回值v是null
 * 存储键值对的时候,key重复,会使用新的value替换map集合中重复的value,返回的是替换的值
 */
    HashMap<String, String> map = new HashMap<>();
    String v1 = map.put("李晨", "范冰冰1");
    System.out.println("v1:"+v1);//v1:null

    String v2 = map.put("李晨", "范冰冰2");
    System.out.println("v2:"+v2);//v2:范冰冰1

    System.out.println(map);//{李晨=范冰冰2}

    map.put("冷风","龙小云");
    map.put("杨过","小龙女");
    map.put("尹志平","小龙女");
    System.out.println(map);//{杨过=小龙女, 尹志平=小龙女, 李晨=范冰冰2, 冷风=龙小云}

    /**
     * V remove(Object key); 如果此映射中存在该键的映射关系,则将其删除。
     * 返回值V
     * 如果key存在,v返回被删除的值
     * 如果key不存在,v返回空
     */

    HashMap<String, Integer> map = new HashMap<>();
    map.put("赵丽颖",168);
    map.put("杨颖",165);
    map.put("林志玲",178);

    System.out.println(map);//{林志玲=178, 赵丽颖=168, 杨颖=165}
    Integer rm1 = map.remove("林志玲");

    System.out.println("rm1:"+rm1);//r1:178
    System.out.println(map);//{赵丽颖=168, 杨颖=165}

    Integer rm2 = map.remove("林志玲");
    System.out.println("rm2:"+rm2);//rm1:null

    /**
     * V get(Object key);  返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null。
     * 返回值:
     * key存在,返回对应的value
     * key不存在,返回null
     */
    HashMap<String, Integer> map = new HashMap<>();
    map.put("赵丽颖",168);
    map.put("杨颖",165);
    map.put("林志玲",178);

    Integer v1 = map.get("杨颖");
    System.out.println("v1:"+v1);//v1:165

    Integer v2 = map.get("迪丽热巴");
    System.out.println("v2:"+v2);//v2:null

    /**
     * boolean containsKey(Object key)如果此映射包含对于指定的键的映射关系,则返回 true。
     * 包含返回true
     * 不包含返回false
     */

    HashMap<String, Integer> map = new HashMap<>();
    map.put("赵丽颖",168);
    map.put("杨颖",165);
    map.put("林志玲",178);

    boolean b1 = map.containsKey("赵丽颖");
    System.out.println("b1:"+b1);//b1:true

    boolean b2 = map.containsKey("赵颖");
    System.out.println("b2:"+b2);//b2:false
}
复制代码

Map集合遍历键找值方式

键找值方式:即通过元素中的键,获取键所对应的值
分析步骤:
1.获取Map中所有的键,由于键是唯一个,所以返回一个Set集合存储所有的键。方法提示:KeySet()

2.遍历键的Set集合,得到每一个键

3.根据键,获取键所对应的值。方法提示get(K key)

复制代码
public static void main(String[] args) {
    /**
     * Map集合的第一种遍历方式通过键找值的方式
     * Map集合中的方法
     * Set<V> keySet()返回此映射中包含键的set视图
     * 实现步骤:
     * 1.使用Map中俄方法keySet*();把Map集合中所有的key取出来,存储到一个Set集合中
     * 2.遍历Set集合获取Map集合中的每一个key
     * 3.通过Map集合中的get(Key),通过key找到value
     */

    HashMap<String, Integer> map = new HashMap<>();
    map.put("赵丽颖",168);
    map.put("杨颖",165);
    map.put("林志玲",178);

    Set<String> keySet = map.keySet();
    for (String s : keySet) {
        Integer integer = map.get(s);
        System.out.println(integer);
    }
}
复制代码

 

posted @   夫君  阅读(75)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示