JAVA HashMap 集合[案例+代码+总结]

文章目录


前言

        这篇我主要总结了操作HashMap集合的方法和怎么遍历出HashMap集合中存储的键值。如果我们存储的数据是键值对形式的话这里就比HashSet集合要方便的多,这也是它俩的区别,HashMap集合是存储键值对,HashSet集合只是存储单个方便。下面我们先来看HashMap集合的常用操作方法有哪些。


一、操作 HashMap 集合的方法

         1.案例描述

                练习目标

                       了解 HashMap集合的存储特点

                        掌握如何使用操作 HashMap 集合的方法

                需求分析

                        Map 接口用于存储具有对应关系的数据。它的每个元素都包含一个键对象 Key和值对象 Value,键和值对象之间存在映射。HashMap 集合是 Map接口的一个实现类。为了让初学者能熟悉使用HashMap集合,本章将采用使用不同方法对 HashMap 集合进行操作,学习HashMap 集合的使用方法。

                设计思路(实现原理)

                        1) 编写类 Example13,创建一个 HashMap 集合,并向集合中添加元素

                        2) 使用一系列方法分别对定义的集合进行增加、移除、判断等操作

                        3) 运行程序,根据输出结果,分析这些方法对 HashMap 集合的操作

         2.案例实现

                编写 Example13类代码:

package JHClass;

import java.util.*;
public class Example13 {
		public static void main(String[] args) {
			// 创建集合对象
			Map map = new HashMap();
			// 添加元素
			map.put("czbk001", "小灰灰");
			map.put("czbk003", "灰太狼");
			map.put("czbk002", "红太狼");
			// 添加元素,如果键存在则替换,返回以前与key关联的值。灰太狼
			System.out.println(map.put("czbk003", "喜羊羊"));
			// V remove(Object key):根据指定的键删除键值对。
			System.out.println("remove:" + map.remove("czbk003"));
			// 判断指定的键是否在集合中存在
			System.out.println("containsKey:" + map.containsKey("czbk002"));
			System.out.println("containsKey:" + map.containsKey("czbk007"));
			// 判断指定的值是否在集合中存在
			System.out.println("containsValue:" + map.containsValue("小灰灰"));
			// 判断集合是否为空
			System.out.println("isEmpty:" + map.isEmpty());
			// 集合中元素的个数
			System.out.println("size:" + map.size());
			// 输出集合对象名称
			System.out.println("map:" + map);
		}
}

                运行结果 

                        

         3.案例总结

                在本案例中,从运行结果可以看出:

                        1)集合中键为 czbk003 对应的值是"灰太狼"。

                        2)由于集合中存在键 czbk003,所以程序做 map.put("czbk003", "喜羊羊")操作时,值会替换为"喜羊羊"。所以删除键为 czbk003 的对象时,程序输出 remove:"喜羊羊"。由此证实了 Map 中的键必须是唯一的,不能重复。如果存储了相同的键,后存储的值则会覆盖原有的值,简而言之就是,键相同,值覆盖。

                        3)"czbk002"在集合中存在,所以输出 true。"czbk007"在集合中不存在,输出 false.

                        4) 值"小灰灰"在集合中存在,所以输出 true。

                        5)因为集合不为空,所以 map.isEmpty()返回 false。

 

二、遍历 Map 中所有的键值    

         1.案例描述

                练习目标

                        掌握遍历 Map 中所有的键值两种方法

                需求分析

                       在程序开发中,经常需要取出 Map 中所有的键和值。为了让大家熟悉遍历 Map 中所有的键 值,本案例将演示遍历 Map 中所有的键值对的两种遍历方式。

                设计思路(实现原理)

                        1) 编写类 Example14,在该类中创建 Map 集合并向集合中添加元素

                        2) 使用第一种方式,遍历集合元素,先获取键的集合,再获取键所对应的值

                        3) 使用第二种方式,先获取集合中键值对映射关系,再从映射关系中获得键和值

        2.案例实现

                         Example14类代码:

package JHClass;
import java.util.*;
public class Example14 {
		public static void main(String[] args) {
			// 创建集合对象
			Map map = new HashMap();
			// 添加元素
			map.put("001", "懒羊羊");
			map.put("002", "美羊羊");
			map.put("003", "沸羊羊");
			System.out.println("方式一遍历:");
			// 遍历1:先获取键的集合,再获取键所对应的值
			Set keyset = map.keySet();
			for (Object key : keyset) {
				Object value = map.get(key);
				System.out.println(key + "***" + value);
			}
			System.out.println("方式二遍历:");
			// 遍历2:先获取集合中键值对映射关系,再从关系中获得键和值
			Set<Map.Entry> mapSet = map.entrySet();
			for (Map.Entry me : mapSet) {
				Object key = me.getKey();
				Object value = me.getValue();
				System.out.println(key + "***" + value);
			}
		}
}

                运行结果 

                ​​​​​​​        

         3.案例总结

                        1、在本案例中,第一种遍历 Map 的方式是首先调用 Map 对象的 KeySet()方法,获得存储 Map 中所有键的 Set 集合,然后通过 foreach 循环遍历集合中的所有的键,最后通过调用 get(key)方法,根据键获取对应的值。

                        2、本案例中的第二种遍历 Map 的方式,首先调用 Map 对象的 entrySet()方法获得存储 Map 中所有映射的 Set 集合,这个集合中存放了 Map.Entry 类型的元素(Entry 是 Map 接口内部类),每个Map.Entry对象代表 Map 中的一个键值对,然后迭代 Set 集合,获得每一个映射对象,并分别调用映射对象的 getKey()和getValue()方法获取键和值。

                        3、在 Map 中,还提供了一个 values()方法,通过这个方法可以直接获取 Map 中存储所有值的 Collection 集合。获取代码如下:

Collection values = map.values();
    for (Object value : values ) {
        System.out.println(value);
    }

                          上述代码只会输出value,不会输出key,运行如下:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        


总结

        以上就是HashMap集合的内容,主要理解HashMap集合是以键值对形式存储,会用增删该方法和两种遍历HashMap集合的方法。修改和增加都是map.put("key","value")就可以。移除是map.remove(“key”)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心态还需努力呀

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值