HashSet 、 Dictionary 、List性能对比

SAP FICO CBS接口-银企直连付款平台功能开发说明书(包括测试样例、FS) 阅读详情
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace UrlMatchSiteNameModule
{
    class Program
    {
        static void Main(string[] args)
        {
            const int COUNT = 1000000;
            HashSet<int> hashSetOfInts = new HashSet<int>();
            Stopwatch stopWatch = new Stopwatch();
            for (int i = 0; i < COUNT; i++)
            {
                hashSetOfInts.Add(i);
            }

            stopWatch.Start();
            for (int i = 0; i < COUNT; i++)
            {
                hashSetOfInts.Contains(i);
            }
            stopWatch.Stop();

            Console.WriteLine(stopWatch.Elapsed);

            stopWatch.Reset();
            Dictionary<string, string> domainMap = new Dictionary<string, string>();
            for (int i = 0; i < COUNT; i++)
            {
                domainMap.Add(i.ToString(), i.ToString());
            }
            stopWatch.Start();
            string value;
            for (int i = 0; i < COUNT; i++)
            {
                domainMap.TryGetValue(i.ToString(), out value);
            }
            stopWatch.Stop();

            Console.WriteLine(stopWatch.Elapsed);

            stopWatch.Reset();
            List<int> listOfInts = new List<int>();
            for (int i = 0; i < COUNT; i++)
            {
                listOfInts.Add(i);
            }

            stopWatch.Start();
            for (int i = 0; i < COUNT; i++)
            {
                listOfInts.Contains(i);
            }
            stopWatch.Stop();

            Console.WriteLine(stopWatch.Elapsed);

            Console.Read();
        }
    }
}

【数字IC基础】DFT(Design For Test)可测性设计 阅读详情

相关推荐

手把手教你用三极管搭建麦克风音频放大电路(附完整电路图)

本文详细介绍了如何使用三极管搭建麦克风音频放大电路,包括电路设计基础、元件选择、完整电路图及分步焊接指南。通过实际操作和调试技巧,帮助电子爱好者和学生深入理解模拟电路原理,实现音质清晰的音频放大效果。

Black的专栏 985

别再只用List了!C#开发中这5种集合(Dictionary, HashSet, Queue...)你用对场景了吗?

本文深入探讨C#开发中5种核心集合类型(Dictionary、HashSet、Queue、LinkedList和List)的适用场景,帮助开发者根据具体需求选择最合适的工具,提升代码性能和可维护性。通过对比分析,揭示List的局限性,并展示Dictionary、HashSet等集合在特定场景下的优势。

weixin_42523792的博客 362

set_output_delay的本质

set_output_delay的本质

qq_33300585的博客 3388

C#内List VS hashset性能对比

昨天在看客户端代码时看到很

boyhailong的专栏 9888

极化码理论及算法研究6-SCL、CA-SCL及matlab仿真

极化码译码算法5——SCL/CA-SCL译码算法系列目录1、引言2、串行抵消列表(SCL)译码算法2.1、路径度量PM 系列目录 (如要找其他内容,欢迎访问我的主页寻找) #前言 #极化码概述 #极化码定义 #极化码编码 #极化码译码 #5G标准中极化码的编译码概述 #5G标准中极化码的编码 #5G标准中极化码的译码 #总结 1、引言 在上一节中,介绍了经典的SC译码算法的理论原理以及其matlab仿真代码,SC译码算法具有较低的译码复杂度,但是由于每个译码的比特信息都依赖于前面所有的比特信息的译码结果,得

1万+

Rockchip RK3568实战:手把手教你调试I2S音频驱动(附ALSA设备树配置详解)

本文提供Rockchip RK3568平台I2S音频驱动的实战调试指南。详细解析了从硬件连接到软件配置的全过程,重点涵盖ALSA驱动框架下的设备树配置、时钟计算、DMA参数设置以及常见问题(如无声、爆音)的排查与解决方法,帮助开发者快速定位并解决音频驱动难题。

weixin_28358083的博客 497

C# HashSet与SortedSet 性能比较

1. 前提:已经知道 HashSet是无序排列,而SortedSet则是在去重后重新排序,所以做了个测试判断两者差距。 2. 测试 2.1(2万测试量) 结果:HashSet对两万的数据量去重,在10毫秒左右,而SortedSet处理同样的数据,需要0.5秒钟左右。 2.2(20万测试量) 结果:在二十万测试量情况下。 ...

qq_36872323的博客 1353

经典的YOLOv3和YOLOV5算法详解及代码复现

yolov3和yolov5算法详解及代码复现

hasakie的博客 770

C#中List、Dictionary、HashSet用法以及区别

在C#编程中,List、Dictionary和HashSet是常用的集合类型,它们都有自己的特点和适用场景。本篇博客将介绍它们的用法、区别及常见操作。深入了解这些集合类型,能够帮助我们更好地组织和处理数据。List是一个有序可重复集合,允许访问、修改和插入多个相同或不同类型的元素。Dictionary是一个键值对集合,提供了快速的键值查找功能,每个键必须是唯一的。HashSet是一个无序且唯一的集合,用于快速查找和去重元素。是否需要保持元素的插入顺序?是否需要频繁访问或修改元素?

故事不长丨的博客 2956

【定位模块算法】amcl(蒙特卡洛)粒子滤波定位算法(附C++代码)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言(1)amcl定位框架介绍(2)amcl定位框架组成(1)ROS-TF坐标转换树【ROS的工具】(2)robot_pose_ekf扩展卡尔曼位姿估计算法(3)定位amcl自适应蒙特卡洛定位,adaptive monte carlo localizaion**(3)amcl定位节点的订阅与发布(4)amcl定位功能包用法(1)编写amcl节点相关的launch(amcl_omni.l

qq_35635374的博客 4402

2026年复旦微电数字IC笔试试卷带答案解析

摘要: 本文为复旦微电子MCU/SOC岗位笔试模拟题,涵盖单片机架构、数字电路、存储技术等核心知识点。内容包括: 单选题(30分):考察Cortex-M中断机制、时序分析(建立/保持时间)、逻辑化简、跨时钟域设计(格雷码应用)、存储器特性(NAND Flash操作单元)等; 波形分析(15分):聚焦D触发器行为、时钟分频、建立时间违例判断及跨时钟域同步; 多选题(25分):涉及亚稳态成因与处理、异步FIFO设计要点、MCU低功耗策略、NAND Flash特性及复旦微电市场地位; 简答题(20分):解析建立/

Open 344

HashSet、Dictionary、Hashtable三种类型Contains效率对比

最近项目中经常会用到去重功能,写了一段测试代码,测试下同等数据量下HashSet、Dictionary、Hashtable三种类型的Contains效率 Stopwatch watch = null; int max = 5000000; int searchStart = 1555555; int searchEnd =

成长的步伐 2829

26、电子测量与旋转编码器控制技术解析

本文深入解析了电子测量中的电感测量技术与旋转编码器的控制方法。介绍了LC电路振荡原理、滤波器类型及其应用,并通过代码实现了基于脉冲宽度的电感值计算。对比了陶瓷电容与电解电容在高频测量中的性能差异。在旋转编码器部分,详细阐述了其工作原理,提出了抖动问题和检测遗漏的解决方案,包括中断检测法和基于4位状态映射的高精度控制方法。文章还探讨了相关技术在电力系统、通信设备、工业自动化和智能家居中的应用,并展望了高精度、智能化、小型化和无线化的发展趋势,为电子系统设计提供了实用指导和技术参考。

elastic6hunter的博客 97

List,Dictionary,HashSet各个方法性能比较

今天在做项目的过程中,发现了算法的性能瓶颈,因为算法用了 public Dictionary<string, List<cKnowledgeLi>> cchooseli = new Dictionary<string, List<cKnowledgeLi>>();其中cKnowledgeLi是大对象,所以在对Dictionary的各种方法...

agy34256的博客 436

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C#HashSet 、 Dictionary 、List性能对比

static void Main(string[] args)         {             const int COUNT = 1000000;             HashSet hashSetOfInts = new HashSet();             Stopwatch stopWatch = new Stopwatch();            

zhangwenting6的专栏 3352

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C#数据结构--Dictionary、HashTable、List、HashSet区别

在.Net  模仿java 的过程中,抛弃了 HashMap,所以我们今天分析下Dictionary、HashTable、HashSet区别。 处理碰撞,即碰撞到同一个Bucket槽上: Hashtable和Dictionary从数据结构上来说都属于Hashtable(哈希表),都是对关键字(键值)进行散列操作,将关键字散列到Hashtable的某一个槽位中去,不同的是处理碰撞的方法。散列函数...

qq826364410的专栏 3680

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ArrayList 和 HashTable 和 HashSet 和 List 和 Dictionary 之间关于插入查询的时间比较

class Program { static void Main(string[] args) { Collections coll = new Collections(); coll.ArrayList(); coll.HashTable(); c

FANET 1953

which is best to use ? List or Dictionary ? For efficiency of code execution.

Question 0 Sign in to vote which is best to use  ? List or Dictionary ? For efficiency of code execution. Dipak Patel Wednesday, July 13, 2011

hundaxxx的博客 497

c#.net List对象和字典对象Dictionary,HashSet对比

若需顺序访问、索引操作,或操作以 “添加 / 遍历” 为主 → 选。若需频繁查找、删除特定元素,或按 “键” 快速定位 → 选Dictionary。补充:如果既要顺序性又要高效查找,可结合两者(如用List维护顺序,用辅助去重 / 查找,HashSet本质是简化的字典,仅存键不存值)。

346

.Net 3.5环境下常用数组性能测试

这件事情似乎很无聊,但是没人做,我来做下苦力吧。以下是一些简单的测试。单位以ms计算。注意里面用到循环的数量有些事1W,有些是100W。这些记录可以作为编程过程中的一些参考。测试平台:奔腾1.6G 双核CPU1G内存vs2008 调试环境测试。一、ArrayList (100W,1W) Stopwatchtimer=newStopwatch();...

weixin_33869377的博客 124

常用数组效率比较

测试平台:奔腾1.6G 双核CPU1G内存vs2008 调试环境测试。一、ArrayList (100W,1W)             Stopwatch timer = new Stopwatch();            timer.Start();            System.Collections.ArrayList al = new System.Collections.A...

weixin_34198453的博客 87

C#常用容器与底层

Array 最基本的数组。 ArrayList Array的加强版,底层也是数组。ArrayList对象的大小是按照其中存储的数据来动态扩充与收缩的。所以,在声明ArrayList对象时并不需要指定它的长度。 但是ArrayList会把所有插入其中的数据当作为object类型来处理,在我们使用ArrayList处理数据时,很可能会报类型不匹配的错误,也就是ArrayList不是类型安全的。 Lis...

菜鸡工坊 865

.Net Framework System.Collections 集合类

本文内容 集合类 性能 最近复习了一下集合,C# 关于集合的类蛮多,但我除了 List 那几个经常用之外,其他的用得还真不多(只在小范围使用),但其实,每个集合类都各有自己适用的场景,功能也很强大。尤其是,泛型类提供的那些方法,对于集合操作很方便,比如,很多方法都把委托作为参数,包括 Action、Fun、Predicate 等,这样,就可以使用匿名函数或 Lamda 表达式编程,代码很简...

weixin_30394333的博客 109

C#中经常使用容器的使用与底层数据结构

从使用的频率一个个来简单说一下。Array/ArrayList/List/LinkedListArray数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,并且赋值与改动元素也非常easy。string[] s=new string[2]; //赋值 s[0]="a"; s[1]="b"; //改动 s[1]="a1"; 可是数组存在一些不...

weixin_30673611的博客 193

unity二叉树_Unity C#笔记 容器类

记录一下Unity C#常用的容器,方便写脚本时忘了容器类来查下 (- -||)动态数组Listusing System.Collections.Generic; //泛型容器的命名空间类似C++的vector。有另一个非常相似的非泛型容器:ArrayList。ArrayList可以插入不同的值类型,在数据检索及存储时存在装箱与拆箱操作,容易带来性能消耗。而List则可以避免了装箱与拆箱动作的性能...

weixin_39880150的博客 218

.NET性能优化-推荐使用Collections.Pooled

简介性能优化就是如何在保证处理相同数量的请求情况下占用更少的资源,而这个资源一般就是CPU或者内存,当然还有操作系统IO句柄、网络流量、磁盘占用等等。但是绝大多数时候,我们就是在降低CPU和内存的占用率。之前分享的内容都有一些局限性,很难直接改造,今天要和大家分享一个简单的方法,只需要替换几个集合类型,就可以达到提升性能和降低内存占用的效果。今天要给大家分享一个类库,这个...

zls365365的博客 187
上一篇: C#线程中安全访问控件(重用委托,避免繁复的delegate,Invoke)总结
下一篇: 详解C#委托,事件与回调函数(推荐)
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值