当前位置: 首页 > news >正文

网站排名技巧保定网站建设公司大全

网站排名技巧,保定网站建设公司大全,微信网站特征,建立网站编程#x1f49d;#x1f49d;#x1f49d;欢迎来到我的博客#xff0c;很高兴能够在这里和您见面#xff01;希望您在这里可以感受到一份轻松愉快的氛围#xff0c;不仅可以获得有趣的内容和知识#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学… 欢迎来到我的博客很高兴能够在这里和您见面希望您在这里可以感受到一份轻松愉快的氛围不仅可以获得有趣的内容和知识也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。 ✨✨ 欢迎订阅本专栏 ✨✨ 博客目录 一.putIfAbsent1.基本介绍2.putIfAbsent 方法3.putIfAbsent 的并发安全性 二.getOrDefault1.getOrDefault 方法2.示例代码3.使用场景 一.putIfAbsent 1.基本介绍 在 Java 中putIfAbsent 和 getOrDefault 是用于 Map 接口的两个不同的方法下面分别解释 putIfAbsent 和 getOrDefault 的用法。 2.putIfAbsent 方法 putIfAbsent 方法用于向映射中添加键值对但仅在指定的键尚不存在时才添加。如果指定的键已经存在则不会执行添加操作。该方法常用于确保在并发环境中不会重复添加相同的键值对。以下是示例代码 import java.util.HashMap; import java.util.Map;public class PutIfAbsentExample {public static void main(String[] args) {MapString, Integer map new HashMap();map.put(key1, 10);map.putIfAbsent(key1, 20); // 不会覆盖现有键值对map.putIfAbsent(key2, 30);System.out.println(map); // 输出: {key110, key230}} }3.putIfAbsent 的并发安全性 putIfAbsent 方法在 Java 中通常用于并发环境中的 ConcurrentMap 实现例如 ConcurrentHashMap。这个方法的设计是为了在多线程环境下安全地执行添加操作确保在同一时间只有一个线程能够成功地将键值对添加到映射中。 在 ConcurrentHashMap 中putIfAbsent 方法使用了一种称为 “compare-and-swap”CAS的机制来确保原子性。CAS 是一种多线程同步的技术它比传统的锁定机制更轻量级。 在 putIfAbsent 方法中首先会尝试用给定的键检索值然后只有在该键不存在时才尝试添加。整个过程是原子性的因此在并发情况下多个线程可以同时调用 putIfAbsent 方法但只有一个线程最终会成功地将键值对添加到映射中。 以下是一个简单的示例演示了在并发情况下使用 ConcurrentHashMap 中的 putIfAbsent 方法 import java.util.concurrent.ConcurrentHashMap;public class ConcurrentExample {public static void main(String[] args) {ConcurrentHashMapString, Integer concurrentMap new ConcurrentHashMap();// 线程1尝试添加键值对new Thread(() - {Integer value concurrentMap.putIfAbsent(key, 1);System.out.println(Thread 1 - Added: value);}).start();// 线程2尝试添加相同的键值对new Thread(() - {Integer value concurrentMap.putIfAbsent(key, 2);System.out.println(Thread 2 - Added: value);}).start();} }在这个例子中只有一个线程最终会成功地将键值对添加到映射中而另一个线程会得到 putIfAbsent 方法返回的已存在的值。 putIfAbsent 方法在 ConcurrentMap 中提供了一种并发安全的方式来添加元素适用于多线程环境。 二.getOrDefault 1.getOrDefault 方法 getOrDefault 方法用于获取指定键的值如果该键不存在则返回一个默认值。这个方法对于避免检查键是否存在并处理默认值很有用。 2.示例代码 import java.util.HashMap; import java.util.Map;public class GetOrDefaultExample {public static void main(String[] args) {MapString, Integer map new HashMap();map.put(key1, 10);map.put(key2, 20);int value1 map.getOrDefault(key1, 0); // 存在的键返回对应的值int value3 map.getOrDefault(key3, 0); // 不存在的键返回默认值 0System.out.println(value1); // 输出: 10System.out.println(value3); // 输出: 0} }3.使用场景 getOrDefault 方法在 Java 中的 Map 接口中定义它用于获取指定键对应的值如果键不存在则返回一个默认值。这个方法在许多场景下都非常有用特别是在处理默认值或避免空指针异常的情况下。以下是一些常用的地方 避免空指针异常 当你使用传统的 get 方法获取值时如果键不存在返回的是 null。使用 getOrDefault 可以避免因为空值而引发空指针异常。 MapString, Integer map new HashMap(); Integer value map.getOrDefault(key, 0); // 如果键不存在返回默认值 0处理默认值 当你需要获取一个值如果键不存在则使用一个默认值而不是 null。 MapString, String config getConfig(); // 从某处获取配置信息的映射 String username config.getOrDefault(username, guest); // 如果键不存在返回默认用户名 guest统计元素出现的次数 在统计元素出现次数时可以使用 getOrDefault 来为不存在的元素提供一个默认的计数值。 MapString, Integer wordCount new HashMap(); String word apple;// 统计单词出现次数 wordCount.put(word, wordCount.getOrDefault(word, 0) 1);初始化映射 在初始化映射时可以使用 getOrDefault 设置默认值。 MapString, ListString userRoles new HashMap();// 初始化用户角色列表 userRoles.put(admin, userRoles.getOrDefault(admin, new ArrayList()));getOrDefault 是一个很方便的方法可以简化代码提高可读性并且在处理映射中的键值对时提供了灵活性。 觉得有用的话点个赞 呗。 ❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正 如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧
http://www.hkea.cn/news/14486287/

相关文章:

  • 广州科 外贸网站建设wordpress 4.7.8
  • 网站关键词建信建设投资有限公司网站
  • 介绍自己的做的网站吗android网站开发
  • 备案网站管理系统离线修改wordpress主题
  • 三大门户网站行业门户网站的优化怎么做yps行业门户系统
  • dw做汽车网站cms网站开发网站模板
  • 青海省建设厅官方网站青海西宁网站建设
  • 网站建设报价分析免费logo
  • 造价工程建设协会网站wordpress防止图片被采集
  • 网站每年需要续费吗域名收录
  • 卖辅助网站怎么做wordpress 字体调整
  • 机械制造网站上海定制app开发公司
  • 在线手机网站制作网站制作与网站建设
  • 上海网站建设网络公司网站设计流程步骤
  • 做挂件像网站成都网页设计培训学校哪家好
  • 违禁网站用什么浏览器东莞阳光网投诉查看
  • 网站自助制作服装公司网站首页
  • 房屋租赁网站开发背景自己动手做衣服的网站
  • 网站建设书模板开发自己的app多少钱
  • 福建志佳建设工程发展有限公司网站织梦网站数据下载
  • 建设一个网站大概需要多少钱织梦配置手机网站
  • 商务网站规划与建设课程设计网站3级营销是怎么做的
  • 做推广网站的文章术语河南seo推广
  • 成都上市的网站建设公司营销策划书案例
  • 互联网网站建设收费如何做收机微网站
  • 成都网站建设哪家售后好定制开发游戏
  • 威海建设局网站楼盘信息公布外包手工活在哪里拿货
  • 在网站文字上做笔记工业果蔬机械加工网
  • 保定网站制作排名需要多少钱vi设计说明模板
  • 中国建材工程建设协会网站网站单个页面紧张搜索引擎蜘蛛