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

制作网站需要哪些技术人员如何修改asp网站栏目

制作网站需要哪些技术人员,如何修改asp网站栏目,百度一下官方下载安装,上海公司建立网站吗Java putIfAbsent() 方法详解 在 Java 中#xff0c;putIfAbsent() 是 Map 接口中的一个方法#xff0c;从 Java 8 开始引入。它用于向映射中添加一个键值对#xff0c;只有在该键尚未存在时才进行添加操作。如果键已存在#xff0c;则不会覆盖原有值。 1. 方法定义 方法…Java putIfAbsent() 方法详解 在 Java 中putIfAbsent() 是 Map 接口中的一个方法从 Java 8 开始引入。它用于向映射中添加一个键值对只有在该键尚未存在时才进行添加操作。如果键已存在则不会覆盖原有值。 1. 方法定义 方法签名 default V putIfAbsent(K key, V value)参数 key要插入的键。value与键关联的值。 返回值 如果键不存在插入后返回 null。如果键已存在则返回该键当前的值插入操作不会执行。 2. 功能描述 检查键是否存在 如果键不存在则将键值对插入到映射中。如果键已存在则保持原有键值对不变。 线程安全 对于并发映射如 ConcurrentHashMapputIfAbsent() 是线程安全的保证了原子性。对于普通 HashMap则不是线程安全的。 避免覆盖现有值 与直接调用 put() 不同putIfAbsent() 不会覆盖现有的值。 3. 示例代码 3.1 基本用法 import java.util.HashMap; import java.util.Map;public class PutIfAbsentExample {public static void main(String[] args) {MapString, String map new HashMap();// 初始插入map.put(A, Apple);// 插入新键map.putIfAbsent(B, Banana);System.out.println(map); // 输出{AApple, BBanana}// 尝试插入已存在的键map.putIfAbsent(A, Avocado);System.out.println(map); // 输出{AApple, BBanana}} }分析 初次插入键 A 和 B。对于键 AputIfAbsent() 不会覆盖原值因此保持不变。 3.2 结合返回值 import java.util.HashMap; import java.util.Map;public class PutIfAbsentReturnExample {public static void main(String[] args) {MapString, String map new HashMap();// 尝试插入新键String result1 map.putIfAbsent(C, Cat);System.out.println(result1); // 输出null键 C 不存在// 再次尝试插入相同键String result2 map.putIfAbsent(C, Carrot);System.out.println(result2); // 输出Cat键 C 已存在值保持为 CatSystem.out.println(map); // 输出{CCat}} }3.3 使用 ConcurrentHashMap putIfAbsent() 在 ConcurrentHashMap 中非常有用可以实现线程安全的惰性初始化。 import java.util.concurrent.ConcurrentHashMap;public class ConcurrentPutIfAbsent {public static void main(String[] args) {ConcurrentHashMapString, Integer map new ConcurrentHashMap();// 多线程同时尝试插入map.putIfAbsent(key, 1);map.putIfAbsent(key, 2);System.out.println(map); // 输出{key1}只插入一次} }4. putIfAbsent() 和 put() 的区别 特性put()putIfAbsent()覆盖值如果键已存在则覆盖旧值。如果键已存在则不覆盖旧值。返回值返回旧值如果存在否则返回 null。如果键已存在返回旧值否则返回 null。性能直接插入操作可能覆盖原值。需要额外检查键是否存在线程安全时也加锁。线程安全ConcurrentMap不是线程安全的需要额外同步。线程安全尤其适用于 ConcurrentHashMap。 5. 使用场景 5.1 避免覆盖已存在值 当希望保持某个键的初始值避免被后续操作覆盖时 map.putIfAbsent(key, initialValue);5.2 延迟初始化 在多线程环境中putIfAbsent() 可以安全地初始化共享资源 public static ConcurrentHashMapString, String cache new ConcurrentHashMap();public static String getValue(String key) {return cache.putIfAbsent(key, DefaultValue); }5.3 统计或计数 可以用 putIfAbsent() 初始化键的默认值用于统计场景 map.putIfAbsent(count, 0); map.put(count, map.get(count) 1);6. 注意事项 线程安全 对普通的 HashMap 使用 putIfAbsent() 并不能实现线程安全。如果需要线程安全请使用 ConcurrentHashMap 或其他并发集合。 返回值的使用 返回值可以用来判断键是否已存在从而决定后续操作。 性能开销 对于并发集合如 ConcurrentHashMapputIfAbsent() 内部使用了锁来保证原子性可能有一定性能开销。 不可用于 null 值 putIfAbsent() 不允许插入 null 值ConcurrentHashMap 会抛出 NullPointerException。 7. 总结 putIfAbsent() 是一种安全的插入操作 如果键不存在则插入键值对。如果键已存在则保持原值不变。 线程安全性 在 ConcurrentHashMap 中putIfAbsent() 是线程安全的可用于多线程环境。 适用场景 避免值覆盖。延迟初始化或缓存加载。实现统计或计数。 通过正确使用 putIfAbsent() 方法可以简化代码逻辑同时确保数据的完整性和安全性尤其在并发场景中非常实用。
http://www.dnsts.com.cn/news/102420.html

相关文章:

  • 软件下载网站知乎做网站的你选题的缘由是什么
  • 舆情网站推荐平面设计广告
  • 网站制作常见问题 图片版权网页游戏平台哪个好
  • 怎样做自己的手机网站华夏思源培训机构官网
  • 企业网站开发需求分析长春营销型网站制作
  • 中电科工程建设有限公司网站网站建设工具
  • 找人做网站被骗网页界面设计的尺寸
  • 云服务器怎么发布网站企业建站用什么系统
  • 政务网站风格邢台网站网页设计公司
  • 网站风格主要包括淘宝客怎么做网站管理
  • 免费网站制作范例社群推广平台
  • h5网站源码wordpress 多多进宝
  • 湖南太平洋建设集团网站加工平台苏州纳米所
  • 网站建设与管理好过吗wordpress 阿里云
  • 大同哪有做网站的如何看到网站做哪些关键字
  • 中国制造网官方网站入口网址物流推广做哪个网站
  • 龙岗网站优化建设职业注册中心网站
  • 手机版网站做一下多少钱有哪些建设网站公司吗
  • 南京网站建设多少钱贵金属网站源码
  • wordpress 5.0多站点相册特效手机网站
  • 东莞建设通网站wordpress 导航 插件
  • 唱片公司网站模板怎么用net123做网站
  • 荥阳做公司网站的公司网站做优化按点击收费
  • 郑州网站建设冫汉狮网络亚网站建设
  • 如何快捷建企业网站vi设计素材
  • 做物流网站计划永久免费补单系统
  • 网站开发多少钱手机网站怎么写
  • 免费网站建设推广服务asp.net 4.0网站开发
  • vue网站开发wordpress视频曹鹏
  • 加快网站收录网站建设步骤完整版