Java集合类之Map的HashMap之常用方法的使用

相关知识

什么是 HashMap

HashMap 是 Map 接口的实现类,它存储的内容是键值对(key-value)映射,其中 key、value 都可以为 null。HashMap 是无序的,即被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的。

创建 HashMap 集合

使用以下代码即可创建一个 HashMap 集合。

public static void main(String[] args) {
    
    
   // 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型
   Map<String, Integer> hashMap = new HashMap<>();
    }

HashMap 集合常用方法

下表展示了 HashMap 集合的常用方法:
方法名 方法说明

put()方法 往集合中添加元素,key 值不可重复,重复时会覆盖之前的 value 值
size()方法 返回集合长度
get(key)方法 获取对应 key 值的 value 值
clear()方法 清除集合中的所有元素
values()方法 返回一个新集合,获取集合中所有元素的 values
keySet()方法 返回一个新集合,获取集合中所有元素的 key
remove()方法 根据 key 或者 key-value 去除集合中元素,并分别返回 value 值和 Boolean 值
iterator()方法 返回一个迭代器对象
entrySet()方法 将 Map 集合每个 key-value 转换为一个 Entry 对象,并返回由所有的 Entry 对象组成的 Set 集合
containsKey() 判断集合中是否含右指定的 key 值

常用方法示例:

 public static void main(String[] args) {
    
    
        // 创建 HashMap 集合,key存储字符串类型,value存储整数类型
        Map<String, Integer> hashMap = new HashMap<>();
        // 添加元素
        hashMap.put("李四",28);
        hashMap.put("张三",26);
        hashMap.put("王五",26);
        // 根据 key 获取 value 值
        Integer zs = hashMap.get("张三");
        System.out.println(zs);
        // 获取所有 key 值
        Set<String> strings = hashMap.keySet();
        System.out.println(strings);
        // 获取所有 value 值
        Collection<Integer> values = hashMap.values();
        System.out.println(values);
        // 根据 key 去除元素
        Integer ww = hashMap.remove("王五");
        System.out.println(ww);
        // 根据 key-value 去除元素
        boolean boole = hashMap.remove("李四", 28);
        System.out.println(boole);     
        System.out.print(hashMap);
    }

执行结果:

26
[李四, 张三, 王五]
[28, 26, 26]
26
true
{张三=26}

遍历 HashMap 集合

以下是三种常用遍历方法。

public static void main(String[] args) {
    
    
        // 创建 HashMap 集合,key 存储字符串类型,value 存储整数类型
        Map<String, Integer> map = new HashMap<>();
        // 添加元素
        map.put("李四",28);
        map.put("张三",26);
        map.put("王五",26);
        //第一种:通过 keySet 遍历,普遍使用
        for (String key : map.keySet()) {
    
    
            System.out.println("key= "+ key + " and value= " + map.get(key));
            
        }
        //第二种:通过 entrySet 和迭代器遍历
        Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();
        while (it.hasNext()) {
    
    
            Map.Entry<String, Integer> entry = it.next();
            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
           
        }
        //第三种:通过 entrySet 和增强 for 循环遍历,推荐,尤其是容量大时
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
    
    
            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
           
        }
        }

执行结果:

key= 李四 and value= 28
key= 张三 and value= 26
key= 王五 and value= 26

key= 李四 and value= 28
key= 张三 and value= 26
key= 王五 and value= 26

key= 李四 and value= 28
key= 张三 and value= 26
key= 王五 and value= 26

Guess you like

Origin blog.csdn.net/qq_52297656/article/details/121410451