码迷,mamicode.com
首页 > 其他好文 > 详细

性能优化之for嵌套循环

时间:2015-08-08 01:25:02      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

性能优化其实有时候就在工作中的点滴积累.

在工作中,时常 会碰到同事感叹速度太慢,特别是对大数据做处理时.但只要注意可能很小很easy的改变,就可以让速度大为改观.

比如一个功能需要比较A仓库有但B仓库也有的物料,可能很多同事直接是以下代码:

 ArrayList AMatList = new ArrayList();
        ArrayList BMatList = new ArrayList();
        ArrayList sameMatList = new ArrayList();
        for (int i = 0; i < AMatList.Count; i++)
        {
            for (int j = 0; j < BMatList.Count; j++)
            {
                if (AMatList[i] == BMatList[j])
                {
                    sameMatList.Add(AMatList[i]);
                }
            }
        }

这样的数量级是n^2级;

其实换个简单的思路,数量级马上变成n:


   ArrayList AMatList = new ArrayList();
        ArrayList BMatList = new ArrayList();
        ArrayList sameMatList = new ArrayList();
        for (int i = 0; i < AMatList.Count; i++)
        {
            if (BMatList.Contains(AMatList[i]))
            {
                sameMatList.Add(AMatList[i]);
            }
        }

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

性能优化之for嵌套循环

标签:

原文地址:http://blog.csdn.net/xingmyworld/article/details/47347563

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!