博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dictionary和数组查找效率对比
阅读量:6279 次
发布时间:2019-06-22

本文共 2269 字,大约阅读时间需要 7 分钟。

    今天想到前两天的通用数据库访问实体类中,想到了赋值和取值的效率,于是今天就写了个小程序测试了额一下

测试程序代码:

int Count = 1000000;            string findName = "Field" + (Count-1).ToString();            DataEntity[] _ArrTestStr = new DataEntity[Count];            Dictionary
_DictionaryTest = new Dictionary
(); StringBuilder content = new StringBuilder(); DateTime beginDateTime = DateTime.Now; //对测试数据进行填充 for (int i = 0; i < Count; i++) { DataEntity de = new DataEntity(); de.Value = i.ToString(); de.Field = "Field" + de.Value; _ArrTestStr[i] = de; } DateTime endDateTime = DateTime.Now; content.Append(" 数组赋值开始时间:").Append(beginDateTime.Ticks).AppendLine(beginDateTime.ToString("yyyy-MM-dd HH:mm:ss fff")) .Append(" 数组赋值结束时间:").Append(beginDateTime.Ticks).AppendLine(beginDateTime.ToString("yyyy-MM-dd HH:mm:ss fff")); beginDateTime = DateTime.Now; for (int i = 0; i < Count; i++) { DataEntity de = new DataEntity(); de.Value = i.ToString(); de.Field = "Field" + de.Value; _DictionaryTest.Add(de.Field, de); } endDateTime = DateTime.Now; content.Append(" Dictionary赋值开始时间:").Append(beginDateTime.Ticks).AppendLine(beginDateTime.ToString("yyyy-MM-dd HH:mm:ss fff")) .Append(" Dictionary赋值结束时间:").Append(beginDateTime.Ticks).AppendLine(beginDateTime.ToString("yyyy-MM-dd HH:mm:ss fff")); int index = 0; DataEntity NewDE = null; beginDateTime = DateTime.Now; while (index

程序运行结果:

 数组赋值开始时间:6348196539849141122012-08-30 23:16:38 491

 数组赋值结束时间:6348196539849141122012-08-30 23:16:38 491
 Dictionary赋值开始时间:634819653995374710 2012-08-30 23:16:39 537
 Dictionary赋值结束时间:6348196539953747102012-08-30 23:16:39 537
数组查找到的值为:999999
 开始查找时间:6348196540108655962012-08-30 23:16:41 086
 结束查找时间:6348196540108655962012-08-30 23:16:41 086
Dictionary查找到的值为:999999
 开始查找时间:6348196540112756192012-08-30 23:16:41 127
 结束查找时间:6348196540112756192012-08-30 23:16:41 127

 

 

结论:赋值和查找效率基本上是一样的,循环了10万次

转载于:https://www.cnblogs.com/shunhe316/archive/2012/08/30/2664667.html

你可能感兴趣的文章
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
rsync同步服务配置手记
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>
iOS 多线程总结
查看>>
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>