Map接口中的常用方法和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。
package com.yang.june;

import java.util.*;


public class Test{
    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)
image

代码演示:

    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 @ 2022-07-06 11:33  我滴妈老弟  阅读(103)  评论(0编辑  收藏  举报