Java优化for循环嵌套的高效率方法(for循环,java,优化,开发技术)

时间:2024-05-05 12:22:49 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Java%E4%BC%98%E5%8C%96for%E5%BE%AA%E7%8E%AF%E5%B5%8C%E5%A5%97%E7%9A%84%E9%AB%98%E6%95%88%E7%8E%87%E6%96%B9%E6%B3%95

前几天有人问过我一个问题,就是两个嵌套for循环执行效率的问题,问有什么好的办法替换。当时我想了想,实在想不起来,哎,惭愧!!! 请教了答案,恍然大悟。

比如:两个list中分别装有相同的对象数据。 list1中有3万条对象数据。 list2中有2万条对象数据(但是对象中的某个属性变量为空)。两个list中的id或者其他变量都一模一样。请用最快的方式找出list2中变量为空的那个对象,并且去list1中找出id相同的对象。 或者可以理解成,从list2中找出变量为空的,去list1中找出对应的对象,然后把为空的列补上。总之就是这么一个意思,先 for 循环 list2,判断一下每个对象的那个属性变量是否为空,如果为空,再去for循环list1,找出id一样的对象,就算执行成功了。

那么请看下边的for循环嵌套的解决方式:

这样真的好吗? 如果有上万,甚至十几万的数据,那么这个执行效率问题,我就不多说了。 非常非常的慢。

下边来看使用map代替的执行方式,以及两种方式的效率对比:

输出结果:

如果我们模拟10万条数据,然后其中五千条重复数据的情况下:效率更是天壤之别。

看输出结果:

循环数据越小,两者差别也就越小,但是数据量越大,差别也就越大。 10万条数据的差别竟然达到上千倍!

以上就是Java优化for循环嵌套的高效率方法的详细内容,更多关于Java 优化 for循环的资料请关注其它相关文章!

本文:Java优化for循环嵌套的高效率方法的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Java实现ip地址和int数字的相互转换下一篇:

6 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18