Map.containsKey() 的一个使用场景.

原创 2007年09月19日 16:28:00

我们常常使用 Map 对象来缓存数据, 比较常见的处理流程是:

1. 调用 Map 的 get() 方法获取数据;

2. 如果返回不为 null, 直接返回该数据;

3. 如果返回为 null, 则生成数据, 或者从其他地方获取数据, 然后存放入 Map 中, 最后返回该数据.

这里, 我们可以通过使用 Map 的containsKey() 方法来检测是否数据是否存在, 如果key存在, 则表明已经获取过一次数据, 那么直接返回该 key 在 Map 中的值. 不管是否为 null 都直接返回; 如果 key 不存在, 则去生成或者获取数据, 并放入到 Map 中, 并返回该数据.

这里使用 containsKey() 来检测可以应用于: 1. 从其他对方获取的数据可能为空, 并且不会有变化; 2. 获取数据比较耗时. 这个场景下, 使用该方法可以大大降低消耗, 特别是在同步情况下.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java 生成随机字符串

代码: /** * 生成随机字符串 * @param length 字符串长度 * @return */ public static String...
  • tolcf
  • tolcf
  • 2014-12-12 15:23
  • 2514

Android ORMLite 框架的入门用法

大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app;本篇博客将详细介绍ORMLite的简易用法。下面开始介绍...

昨日歌、今日歌、明日歌

《昨日歌》佚名者作昨日兮昨日,昨日何其少!昨日过去了,今日徒懊恼。世人但知悔昨日,不觉今日又过了。水去日日流,花落日日少,成事立业在今日,莫待明朝悔今朝。”《今日歌》 (明·文嘉)今日复今日, 今日何...

Mybatis批量更新数据

第一种方式:
  • tolcf
  • tolcf
  • 2014-09-11 23:34
  • 70784

巨人购51细节曝光:史玉柱打败马云抢走庞升东

巨人网络的董事长史玉柱从来都是焦点。 7月1日,他出现在上海张江一幢小楼3层的一间屋子里,而这间屋子是属于51.com的一部分。 在这里迎接史玉柱的,是51.com的董事长庞升东。 当天下午三点半,...

map containsKey与get方法区别

get(Object key) 返回与指定键关联的值; containsKey(Object key) 如果Map包含指定键的隐射,则返回true;

java中stringBuilder的用法

String对象是不可改变的。每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 ...
  • zi_jun
  • zi_jun
  • 2012-06-02 00:21
  • 116818

javaweb基于内容的图片搜索(3)_lire后台使用

经过了爬图,我得到了图片,以及图片的原网址,这个时候就该处理了。 图片处理本来是一件很复杂的事,而且各种特征也很多,而我仅仅是用的lire,别人第三方开源的jar包。 这里介绍下lire:Lucene...
  • anLA_
  • anLA_
  • 2016-04-11 23:48
  • 2015
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)