HashMap的实际开发使用
创始人
2025-05-28 10:15:57
0

目 录

前言

一、HashMap是什么?

二、使用步骤

1.解析一下它实现的原理

​编辑

2.实际开发使用

总结

前言

本章,只是大概记录一下hashMap的简单使用方法,以及理清一下hashMap的put方法的原理,以及get方法的原理。

一、HashMap是什么?

 首先,要介绍一下它的内部组成,它是哈希表结构的,非常好地结合了数组和链表的优点。当链表长度超过8时,链表转换就会转化为红黑树。数组中的每个元素都是链表,由Node内部类(实现Map.Entry接口)实现,它主要通过put方法存储和get方法来进行获取。

二、使用步骤

1.解析一下它实现的原理

首先,它先根据键值key计算出hash值,得到了插入的数组索引

 第2步,就是通过这个索引查找这个数组,如果数组为空,则直接插入一个新的数组;如果不为空,说明之前是有的了,则判断key,如果key是相同的,则直接赋新值,如果不是,则直接来到数组后面的链表

 

第3步,来到了链表家里了,则是首先判断是否已经为treeNode了,如果还没,则开始遍历链表准备插入,如果长度小于8,则可以插入到链表中,若key存在,则直接覆盖。如果长度大于8,则它要去到红黑树家里了,转换为红黑树,插入键值对。

 

2.实际开发使用

我们经常在开发中,需要保存某些字段的值时,然后到下一步,需要使用时,则在把它取出来,这时候,使用它就是比较合适的了。

第一步,先定义一个map。

        //map存储订单详情的商品编码我方促销编码,商品第三方购买数量Map thirdPrdQtyMap = new HashMap<>();                      // 小红书购买数量

第二步,则是使用put方法存值。

                logger.info("小红书商家编码====="+thirdPrd.getErpcode());MdPromotionBean bean = mdPromotionDao.getById(thirdPrd.getErpcode());  // 小红书促销对象 商家编码BizAssert.isTrue(bean!=null,TextUtils.format("小红书商品编码{}在系统中不存在",thirdPrd.getErpcode()));if(thirdPrdQtyMap.containsKey(bean.getId())){thirdPrdQtyMap.put(bean.getId(),thirdPrdQtyMap.get(bean.getId()).intValue()+thirdPrd.getQty());}else{thirdPrdQtyMap.put(bean.getId(),thirdPrd.getQty());}

第三步,最后使用get方法获值。

orderItemssHeadBean.setQty(thirdPrdQtyMap.get(ecBean.getId()));        // 订单的商品数量,用map的

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

总结

本章,只是大概记录一下hashMap的简单使用方法,以及理清一下hashMap的put方法的原理,以及get方法的原理。

相关内容

热门资讯

西班牙强调美以无权决定世界规则... 西班牙国防大臣玛加丽塔·罗夫莱斯3月31日在议会发言,就西班牙拒绝支持美国和以色列对伊朗的军事行动作...
伊朗首都德黑兰发生爆炸 当地时间4月1日17时03分,伊朗首都德黑兰发生爆炸。 爆炸分别发生在德黑兰东部地区和西部地区,有当...
美国至6月6日当周EIA天然气... 6月12日消息,美国至6月6日当周EIA天然气库存增加1090亿立方英尺,前值增加1220亿立方英尺...
Coinbase:预计今年底前... 6月12日消息,Coinbase在最新的月度展望中表示,对今年下半年的加密货币市场持“正面”展望,主...
农业农村部:着力培育壮大优势种... 6月12日消息,农业农村部今日召开全国种业振兴推进会。会议强调,要加快种质资源鉴定改良,再筛选挖掘和...
永辉超市:41家调改门店已向员... 6月12日消息,永辉超市宣布胖东来模式调改完成全国100店,第100家调改店位于江苏南京江宁万达广场...
多家A股上市公司回应与泡泡玛特... 6月12日消息,近期,泡泡玛特旗下的潮玩IP LABUBU在全球掀起了一股热潮。近两日,多家A股上市...
塔塔集团将向坠机遇难者的家庭提... 6月12日消息,据报道,塔塔集团将向坠机遇难者的家庭提供1000万印度卢比(约83万人民币)。据悉,...
浙商银行业绩大跌,新管理层加速... 出品|达摩财经董事长、行长双双更换后,浙商银行交出了一份营收、净利润“双降”的成绩单。3月30日,浙...
协和电子:两股东拟合计减持不超... 6月12日消息,协和电子公告,股东东禾投资计划通过集中竞价方式减持公司股份不超过50万股,占公司总股...