龙空技术网

Java逻辑条件多个「或」判断时,性能优化小技巧,值得一试

Java开发之路 1501

前言:

而今各位老铁们对“java逻辑与逻辑或”大体比较着重,大家都想要了解一些“java逻辑与逻辑或”的相关资讯。那么小编同时在网络上汇集了一些有关“java逻辑与逻辑或””的相关知识,希望姐妹们能喜欢,大家一起来了解一下吧!

平时工作中,写各种业务代码的时候,经常遇到需要做条件判断的地方,在一些业务逻辑中,有时条件判断的「或」判断可能长达20多个。

例如:reg.equals("1") || reg.equals("2") || reg.equals("3")||...省去n个

这种情况是不是让人很是崩溃?而且存在弊端:

这个时候代码不好维护,字段多很容易出错。

在最差情况下,执行语句要对这20个判断都判断一遍,才知道最终的结果,在高性能业务效率低下。

这个时候我们可以借助map或set来进行判断,因为hashmap是一个hash桶,查找的效率是比较快的,不管判断任何值,查询效率基本很稳定。

推荐指定hashmap的长度和需要判断的元素一样多,这样就避免对某一个桶内衍生出多余链表了。

具体的例子代码如下:

代码中打入了时间差来计算时间,运行测试的输出如下:

很明显,利用hashmap优化后的效率更高,有兴趣的童鞋自己动手试试。

作者:intsmaze(刘洋)

出处:博客园

标签: #java逻辑与逻辑或 #java 逻辑与