写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。
这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

用知识改变命运,让我们的家人过上更好的生活


目录

  • 一、map里面的添加、删除、修改方法
  • 二、map里面的查询方法
  • 三、遍历集合中的key 或 value
  • 四、遍历集合中的key和value


一、map里面的添加、删除、修改方法

  • Object put(Object key,Object value) :将 指定 key value 添加到 或修改 当前 map 对象中
  • void putAll(Map m) : 将 m 中的所有 key value 对存放到当前 map 中
  • Object remove(Object key) key):移除指定 key 的 key value 对,并返回 value
  • void clear()clear():清空当前 map 中的所有数据
/**
 * map 里面的添加、删除、清空操作
 */
public class HashMapTest1 {
    public static void main(String[] args) {

        // Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中
        Map<Integer, String> map = new HashMap<>();
        map.put(101, "马化腾");
        map.put(102, "刘强东");
        map.put(103, "马云");
        map.put(104, "张一鸣");
        System.out.println(map); // {101=马化腾, 102=刘强东, 103=马云, 104=张一鸣}

        System.out.println("********************************************************");

        // void putAll(Map m):将m中的所有key-value对存放到当前map中
        Map<Integer, String> map1 = new HashMap<>();
        map1.put(105, "李彦宏");
        map1.put(106, "任正非");
        map.putAll(map1);
        System.out.println(map); // {101=马化腾, 102=刘强东, 103=马云, 104=张一鸣, 105=李彦宏, 106=任正非}

        System.out.println("********************************************************");

        //  Object remove(Object key):移除指定key的key-value对,并返回value
        String value = map.remove(104);
        System.out.println(value); // 张一鸣
        System.out.println(map); // {101=马化腾, 102=刘强东, 103=马云, 105=李彦宏, 106=任正非}

        System.out.println("********************************************************");

        //  void clear():清空当前map中的所有数据
        map.clear();
        System.out.println(map.size()); // 0
        System.out.println(map); // {}
    }
}
{101=马化腾, 102=刘强东, 103=马云, 104=张一鸣}
********************************************************
{101=马化腾, 102=刘强东, 103=马云, 104=张一鸣, 105=李彦宏, 106=任正非}
********************************************************
张一鸣
{101=马化腾, 102=刘强东, 103=马云, 105=李彦宏, 106=任正非}
********************************************************
0
{}

二、map里面的查询方法

  • Object get(Object key) :获取指定 key 对应的 value
  • boolean containsKey(Object key)
  • boolean containsValue(Object value) :是否包含指定的 value
  • int size():返回 map 中 key value 对的个数
  • boolean isEmpty():判断当前 map 是否为空
/**
 * 元素查询的方法
 */
public class HashMapTest2 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(101, "马化腾");
        map.put(102, "刘强东");
        map.put(103, "马云");
        map.put(104, "张一鸣");

        // Object get(Object key):获取指定key对应的value
        System.out.println(map.get(102)); // 刘强东

        // boolean containsKey(Object key):是否包含指定的key
        boolean b = map.containsKey(103);
        System.out.println(b);  // true

        // boolean containsValue(Object value):是否包含指定的value
        boolean isExist = map.containsValue("任正非");
        System.out.println(isExist); // false

        // int size():返回map中key-value对的个数
        System.out.println(map.size()); // 4

        map.clear();
        //  boolean isEmpty():判断当前map是否为空
        System.out.println(map.isEmpty()); // true

    }
}
刘强东
true
false
4
true

三、遍历集合中的key 或 value

  • Set keySet():返回所有key构成的Set集合
  • Collection values():返回所有value构成的Collection集合
/**
 * 遍历集合中的key、 value
 */
public class HashMapTest3 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(101, "马化腾");
        map.put(102, "刘强东");
        map.put(103, "马云");
        map.put(104, "张一鸣");

        // Set keySet():返回所有key构成的Set集合
        Set<Integer> set = map.keySet();
        Iterator<Integer> it = set.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }

        System.out.println("*********************************");

        //  Collection values():返回所有value构成的Collection集合
        Collection<String> values = map.values();
        for (String vaue : values) {
            System.out.println(vaue);
        }
    }
}
101
102
103
104
*********************************
马化腾
刘强东
马云
张一鸣

四、遍历集合中的key和value

  • 方式一:利用 entrySet() 方法返回所有key-value对构成的Set集合
  • 方式二:先利用 keySet() 方法遍历所有的 key 集,然后根据遍历到的 key 得到相应的 value 值
/**
 * 遍历集合
 */
public class HashMapTest4 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(101, "马化腾");
        map.put(102, "刘强东");
        map.put(103, "马云");
        map.put(104, "张一鸣");

        // 遍历集合方式一
        // Set entrySet():返回所有key-value对构成的Set集合
        Set<Map.Entry<Integer, String>> entries = map.entrySet();
        Iterator<Map.Entry<Integer, String>> it = entries.iterator();
        while (it.hasNext()) {
            Map.Entry<Integer, String> next = it.next();
            System.out.println(next);
        }

        // 遍历集合方式二
        System.out.println("*********************************");
        Set<Integer> keySet = map.keySet();
        Iterator<Integer> iterator = keySet.iterator();
        while (iterator.hasNext()) {
            Integer key = iterator.next();
            String value = map.get(key);
            System.out.println(key + "=" + value);
        }
    }
}
101=马化腾
102=刘强东
103=马云
104=张一鸣
*********************************
101=马化腾
102=刘强东
103=马云
104=张一鸣