java散列法的运用实例,Java HashMap compute() 使用方法及示例
Java HashMap compute() 使用方法及示例
Java HashMap compute()方法计算一个新值,并将其与哈希映射中的指定键相关联。
compute()方法的语法为:
hashmap.compute(K key, BiFunction remappingFunction)
compute()参数
compute()方法有两个参数:key - 与计算值关联的键
remappingFunction- 为指定键计算新值的函数
注意:remappingFunction可以接受两个参数。
compute()返回值返回与键关联的新值
如果没有与键关联的值,则返回null
注意:如果remappingFunction结果为null,则将删除指定键的映射。
示例:HashMap compute()插入新值
示例
import java.util.HashMap;
class Main {
public static void main(String[] args) {
//创建 HashMap
HashMap prices = new HashMap<>();
//向HashMap插入条目
prices.put("Shoes", 200);
prices.put("Bag", 300);
prices.put("Pant", 150);
System.out.println("HashMap: " + prices);
//以10%的折扣重新计算鞋子的价格
int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
System.out.println("鞋折扣价: " + newPrice);
//打印更新的HashMap
System.out.println("更新后的 HashMap: " + prices);
}
}
输出结果HashMap: {Pant=150, Bag=300, Shoes=200}
鞋折扣价: 180
更新后的 HashMap: {Pant=150, Bag=300, Shoes=180
在上面的示例中,我们创建了一个名为prices的哈希映射。注意表达式
prices.compute("Shoes", (key, value) -> value - value * 10/100)
这里,(key, value) -> value - value * 10/100 - 这是一个lambda表达式。它将鞋的原价降低10%并返回。了解有关lambda表达式的更多信息,请访问Java Lambda 表达式。
prices.compute() - 将lambda表达式返回的新值与Shoes的映射相关联。
注意:根据Java的官方文档,HashMap merge()方法比compute()方法更简单。
推荐阅读
java散列法的运用实例,Java HashMap compute() 使用方法及示例相关推荐
- 哈希表(Hash Table)及散列法(Hashing)
bigshuai 哈希 源地址 http://www.cnblogs.com/bigshuai/articles/2398116.html 哈希表(Hash Table)及散列法(Hashing) 数 ...
- 散列表相关题目(线性探测再散列法)
散列表相关题目(线性探测再散列法) 一.题目 将关键字序列(7.8.30.11.18.9.14)散列存储到散列表中.散列表的存储空间是一个下标从0开始的一维数组,散列函数为H(key)=(key×3) ...
- hash table(全域散列法实现的哈希表)
hash table(全域散列法实现的哈希表) 利用每次重建哈希表时随机生成散列函数 #ifndef C11LEARN_HASHUNIVERSAL_H #define C11LEARN_HASHUNI ...
- hash table(用乘法散列法实现)
hash table(用乘法散列法实现) #ifndef C11LEARN_HASHMULTI_H #define C11LEARN_HASHMULTI_H #include "HashDi ...
- Hash-table(用除法散列法实现)
Hash-table(用除法散列法实现) 关键字只支持int型,初学者版本 用链表解决冲突问题 #ifndef C11LEARN_HASHDIVISION_H #define C11LEARN_HAS ...
- c#加密:二、散列法 MD5、SHA256、SHA512
散列法提供了一种单向加密的方式.这种方式非常适用于在数据库中存储密码.因为我们无须(也不希望)提供解密的信息.在登录验证时,只需简单地将用户的输入进行散列,并和数据库中存储的散列值进行比较即可. 由于 ...
- 数据结构记录--散列法实验
Home Web Board ProblemSet Standing Status Statistics Problem A: 散列法的实验 Time Limit: 1 Sec Memory Lim ...
- 散列(2)线性探测法和双重散列法
接上篇 散列的简要描述和链地址法 解决散列冲突的方法: 1. 线性探测法 如果我们能够预测将要存入表中元素的数目,而且我们有足够的内存空间可以容纳带有空闲空间的所有关键字,那么使用链地址法是不值得的. ...
- 哈希(散列):(四)C语言实现 哈希 开散列法
哈希(散列)的概念: https://blog.csdn.net/mowen_mowen/article/details/82943192 C语言实现:静态哈希表: https://blog.csdn ...
最新文章
- SpringBoot第十五篇:Springboot整合RabbitMQ
- Gartner重磅发布近40页PPT,详解2017年十大战略技术趋势
- golang 正则 校验 字符串
- 使Element默认字体为中文
- profiler分析器——R语言
- SharePoint网站集备份与恢复
- 企业管理器控制台本地无法访问
- 浅谈tcpwrapper的基本使用方法
- php面向对象特性(一)
- Mac 升级 catalina 后无法创建文件,Read-only file system
- mysql8.0升级_MySql版本升级(8.0.19升级到8.0.22)
- 家庭电信网弄外网唤醒并远程内网电脑
- 论合同管理的现状、发展趋势及重要性
- windows服务器虚拟机 全屏,win7虚拟机的安装|vmware中win7虚拟机怎么设置全屏显示...
- SPI 接口OLED 模块 - 兼容5V 和3.3V 电平
- TimeWheel时间轮算法原理及实现(附源码)
- 下载微信公众号或订阅号的文章封面图片
- 计算机培训教案入门,计算机二级学习基础PPT学习教案.pptx
- oracle迁移几种方式,Oracle数据库迁移的几种方式
- 通达信指标加密保护方法
热门文章
- ps作业素材和成品_没有用过PS的画框工具,你还敢说你是设计大佬?
- php spry文本域_《PHP和MySQL Web 开发》第8章 设计Web数据库
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(92)-打印EasyUI 的datagrid表格
- poj 3728 Catch That Cow ([kuangbin带你飞]专题一 简单搜索)
- RocketMQ 使用及常见问题
- The mook jong 计数DP
- POJ 1195 Mobile phones【 二维树状数组 】
- poj 2051 Argus(优先队列)
- jQuery 学习笔记(jQuery: The Return Flight)
- WPF 分页控件应用