首页 > 其他分享 >字典Dictionary.Add不是把新的元素插入到字典最后面

字典Dictionary.Add不是把新的元素插入到字典最后面

时间:2025-01-22 13:43:11浏览次数:1  
标签:Dictionary 元素 testDic Add 添加 字典

些时候在Dictionary中Add添加键值对后,并不是直接加到Dictionary的最后面,遍历时元素的顺序不是元素添加的先后顺序。

 

因为字典Dictionary并不是有序存储的,在删除中间某个元素后,会留下一个空位,后续添加元素会填到这个空位,导致顺序“错乱”。

Dictionary实现原理参考:浅谈C# Dictionary实现原理

代码演示:Log结果显示,字典内元素顺序是"1,2,6,4,5",而不是"1,2,4,5,6"。

Dictionary<int, string> testDic = new Dictionary<int, string>();

testDic.Add(1, "111");
testDic.Add(2, "222");
testDic.Add(3, "333");
testDic.Add(4, "444");
testDic.Add(5, "555");

testDic.Remove(3);
testDic.Add(6, "666");

foreach (var item in testDic)
{
Debug.Log(item.Value);
}

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_39108767/article/details/108538366

标签:Dictionary,元素,testDic,Add,添加,字典
From: https://www.cnblogs.com/ILoveJackSparrow/p/18685648

相关文章

  • 差异编码(Delta Encoding) 和 字典压缩(Dictionary Encoding)
    1.差异编码(DeltaEncoding):倒排列表中可能会采用差异编码,即存储相邻文档ID之间的差值,而不是直接存储每个文档ID,这样可以进一步压缩空间。2.字典压缩(DictionaryEncoding):对于倒排列表中的文档ID,可以使用字典进行压缩,进一步减少存储需求。举例学习和说明这两个方法 差异......
  • paddleocr图片文字识别
    介绍:PaddleOCR是由百度开发的一个OCR库,基于深度学习框架PaddlePaddle。PaddleOCR支持多语言文本识别,特别适合中文场景,同时它还提供了丰富的预训练模型。1、安装pip3installpaddlepaddlepip3installpaddleocr2、使用frompaddleocrimportPaddleOCRdefpaddle_image......
  • css中padding和margin是相对于父元素还是子元素呢?
    在CSS中,padding(内边距)和margin(外边距)的参照物或者说它们是相对于哪个元素,取决于它们是应用在哪个元素上,以及我们是从哪个角度去看待它们的效果。padding(内边距):padding是元素边框与元素内容之间的空间。当你为一个元素设置padding时,这个padding是相对于该元素自身的内容区域......
  • Python中的字典优化:如何高效使用`defaultdict`和`Counter`
    《PythonOpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门!解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界在Python编程中,字典(dict)是最常用的数据结构之一,广泛应用于数据存储、检索和操作。然而,随着数据规模的增大和复杂性的提升,传统字典在某些场景下......
  • 科普文:算法和数据结构系列【高效的字符串检索结构:字典树Trie树原理、应用及其java示例
    概叙科普文:算法和数据结构系列【算法和数据结构概叙】-CSDN博客科普文:算法和数据结构系列【非线性数据结构:树Tree和堆Heap的原理、应用、以及java实现】-CSDN博客科普文:算法和数据结构系列【树:4叉树、N叉树】_动态维护四叉树-CSDN博客科普文:算法和数据结构系列【二叉树总结......
  • 科普文:算法和数据结构系列【死磕字典树:字典树的升级版三叉树Ternary Search Tree优化
    概叙科普文:算法和数据结构系列【死磕字典树:来一个英文字母游戏】-CSDN博客科普文:算法和数据结构系列【高效的字符串检索结构:字典树Trie树原理、应用及其java示例代码解读】-CSDN博客‌原理‌:Trie树利用字符串之间的公共前缀来减少不必要的字符串比较,从而提高查询效率。每个......
  • ViewDataDictionary(this.ViewData)
    在ASP.NETMVC中,ViewDataDictionary是一个用于在控制器和视图之间传递数据的字典类。它继承自ViewDataContainer,并提供了键值对的存储和检索功能。ViewDataDictionary可以存储任何类型的数据,并且在视图中可以通过键名来访问这些数据。构造函数 ViewDataDictionary(this.ViewD......
  • caddy的用法 小型静态服务器
    caddy的用法小型静态服务器欢迎使用Caddy安装Caddy的各种方法快速入门使用API使用Caddyfile静态文件命令行......
  • AddressTool: 地址治理的革命-低成本地址治理方案
    AddressTool:地址治理的智能化革新在数字化时代,地址数据作为企业运营的核心要素之一,其准确性和标准化程度直接影响业务效率和服务质量。然而,传统的地址治理流程往往面临效率低、成本高、耗时长等难题。AddressTool作为一款基于自然语言处理(NLP)和地理信息技术的智能化工具,正在彻底......
  • AddressTool: 地址治理的革命-低成本地址治理方案
    AddressTool:地址治理的智能化革新在数字化时代,地址数据作为企业运营的核心要素之一,其准确性和标准化程度直接影响业务效率和服务质量。然而,传统的地址治理流程往往面临效率低、成本高、耗时长等难题。**AddressTool**作为一款基于自然语言处理(NLP)和地理信息技术的智能化工......