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

网站建设费怎么记账那些网站是做生鲜的

网站建设费怎么记账,那些网站是做生鲜的,宁波网站建设培训哪家好,南昌网站小程序开发这个问题可能被认为太基础了#xff0c;但是在论坛上经常被问到。 在本文中#xff0c;我将讨论一种仅在Map ONCE中搜索键的方法。 让我们首先来看一个例子。 假设我正在使用Map创建一个字符串频率列表#xff0c;其中每个键是一个正在计数的String #xff0c;值是一个In… 这个问题可能被认为太基础了但是在论坛上经常被问到。 在本文中我将讨论一种仅在Map ONCE中搜索键的方法。 让我们首先来看一个例子。 假设我正在使用Map创建一个字符串频率列表其中每个键是一个正在计数的String 值是一个Integer 每次添加一个String都会递增。 实现它的一种直接方法是 int count map.containsKey(string) ? map.get(string) : 0; map.put(string, count 1); 这段代码运行很慢因为它在地图上包含三个潜在的昂贵操作即containsKey get和[put]http://docs.oracle.com/javase/7/docs/ api / java / util / Map.htmlputKV 。 每个都需要在地图中搜索关键字。 现在让我们重构代码以获得更好的性能。 整数与MutableInteger与AtomicInteger 我们必须调用三个昂贵的操作的重要原因之一是使用Integer进行计数。 在Java中 Integer是不可变的 。 它阻止我们在构造后修改整数值。 因此要增加一个计数器我们必须首先从映射中获取整数然后通过添加一个整数来创建另一个新整数然后将其放回映射中。 为了使计数器可变有几种方法。 一种是简单地创建自己的MutableInteger 就像我在下面显示的那样。 public class MutableInteger {private int val;public MutableInteger(int val) {this.val val;}public int get() {return val;}public void set(int val) {this.val val;} } 另一种方法可能是在Java中使用AtomicInteger 该方法用于原子增量计数器等应用程序中。 但是AtomicInteger的主要选择是如果您希望通过对整数进行操作来实现线程安全。 因此它不能用作Integer的替代。 基于此如果您的项目不是线程安全性的重要考虑因素则我不建议您使用AtomicInteger 。 仅搜索一次密钥 使用MutableInteger之后 我们可以将上面的代码更改为 if (map.containsKey(string)) {MutableInteger count map.get(string);count.set(count.get() 1); } else {map.put(string, new MutableInteger(1)); } 要么 MutableInteger count map.get(string); if (count ! null) {count.set(count.get() 1); } else {map.put(string, new MutableInteger(1)); } 在最坏的情况下如果以前没有看到过密钥则代码将搜索密钥两次一次用于检索一次用于设置。 它比上一个要好得多。 但是我们不应该立即满足并停止。 如果您在Java文档中选中了[Map.put]http://docs.oracle.com/javase/7/docs/api/java/util/Map.html#putKV方法您会发现此方法将返回the previous value associated with key 。 这意味着我们可以将检索和设置合并为一个。 但是您可能想知道如果不首先检索计数器如何设置新计数器 现在我们终于可以触摸本文中最棘手的部分我们可以简化放置零频率计数器的工作 public int incrementCount(K key, int count) {MutableInteger tmpCount new MutableInteger(0);MutableInteger oldCount map.put(key, tmpCount);if (oldCount ! null) {count oldCount.get();}tmpCount.set(count);return count;}另一个柜台 看起来将所有必要的操作放入一个类中将对将来的使用有所帮助。 因此我创建了一个称为Counter的类并将其公开。 计数器定义一个集合该集合对对象出现在集合中的次数进行计数。 假设您有一个包含{a, a, b, c}的Counter。 在“ a”上调用getCount将返回2而在keySet上调用将返回{a, b, c} 。 此类的工作方式类似于Map 但是具有不同的方法来轻松获取/设置/增加对象的计数以及使用该计数来计算各种函数。 Counter构造函数和addAll方法可用于复制另一个Counter的内容。 根据IntCounter和AbstractMapBag修改Counter类。 Counter上的一些突出操作包括 gainCount和decrementCount 将给定键的给定计数加/减到当前计数中。 如果之前没有看到该键则假定它的计数为0因此增量方法会将其计数设置为给定的数量。 减量会将其计数设置为-1。 getCount 返回给定键的当前计数如果以前没有看到过则返回0。 keysAt keysAbove和keysBelow 返回其计数在给定阈值之上之下或之下的一组键。 该集合可能包含0个元素但不会为null。 argmin 和argmax 找到并返回此Counter中具有最小/最大计数的密钥。 如果有几个最小/最大计数则返回随机值。 如果此Counter为空则返回null。 参考 在Java中增加Map值的最有效方法–只需从PGuru博客的JCG合作伙伴 Peng Yifan那里 搜索一次密钥 。 翻译自: https://www.javacodegeeks.com/2013/10/most-efficient-way-to-increment-a-map-value-in-java-only-search-the-key-once.html
http://wiki.neutronadmin.com/news/388827/

相关文章:

  • 应聘网站运营建设面试以遇见为主题做网站
  • 宁波网站优化建站公司关于做网站的
  • 网站名称没有排名怎么做视频解析网站
  • 网站主题设计特色深圳网络推广工资
  • 成都六度网站建设阿里巴巴全球速卖通
  • 西安建公司网站shopex进入网站自动回跳转到别的网站 是否被挂马
  • 泉州网站建设深圳网站建设公司地图
  • 网站设计目的有没有做公司网站的
  • 中国轻工建设协会网站网站jquery上传源代码
  • 医院网站建设公司阿里云与wordpress
  • c2c网站代表和网址百度搜索量统计
  • 企业网站主页设计如何成为游戏代理
  • 山西网站制作公司ppt做长图网站
  • 金马国旅网站建设wordpress 头部导航栏
  • 合肥网站优化服务网建设项目环境登记表辽宁省网站
  • 保定市清苑区网站建设个体可以做几个网站
  • 网站搭建一般要石家庄又封了
  • 建设银行网站的特点专业团队简介
  • 网站模板内容怎么改中卫市住房建设局网站
  • 网站前端设计培训网络书城网站开发 需求分析
  • 做任务赚佣金的网站建设的比较好的档案馆网站
  • 镇江网站seo外包wordpress 世界时间
  • 网站开发设计心得常用的软件开发文档
  • 设置网站的关键词做多站发布信息的网站
  • 合肥建站费用香河做网站公司
  • pc网站如何做sp哪有做网站的 优帮云
  • 玉树营销网站建设企业网站建设开始起步文章
  • wordpress视屏站网站给他人做付刑事责任
  • 公司网站建设制度网站不做icp备案
  • 网站ip地址查询宁波论坛招聘