SortedList<>、SortedDictionary<> 和 Dictionary<>

2023-12-14

我发现SortedList<TKey, TValue> SortedDictionary<TKey, TValue> and Dictionary<TKey, TValue>实现相同的接口。

  1. 我们什么时候应该选择SortedList and SortedDictionary over Dictionary?
  2. 有什么区别SortedList and SortedDictionary在应用方面?

  1. 当迭代两者中的任何一个中的元素时,元素将被排序。情况并非如此Dictionary<T,V>.

  2. MSDN解决了之间的差异SortedList<T,V> and SortedDictionary<T,V>:

SortedDictionary(TKey, TValue) 泛型类是二分查找 树O(log n) 检索,其中 n 是元素的数量 词典。在这方面,它类似于 SortedList(TKey, TValue) 泛型类。这两个类具有相似的对象模型,并且 两者都有 O(log n) 检索。这两个类的不同之处在于 内存使用和插入和删除速度:

SortedList(TKey, TValue) 使用的内存少于 SortedDictionary(TKey, T 值)。

SortedDictionary(TKey, TValue) 具有更快的插入和删除速度 未排序数据的操作:O(log n) 而不是 O(n) 排序列表(TKey,TValue)。

如果列表是从排序数据一次性填充的, SortedList(TKey, TValue) 比 SortedDictionary(TKey, T 值)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SortedList<>、SortedDictionary<> 和 Dictionary<> 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 将 jQuery流沙与 fancybox 结合使用时出现问题

    我正在使用流沙 jQuery 的这个例子 制作精美的 HTML5 作品集 现在 我想在单击图像时打开灯箱 为此 我使用 fancybox jQuery 但问题在于这个 Making a Beautiful HTML5 Portfolio q
  • 由外键控制的值

    我在 SQL Server 中有一个非常简单的数据库 包含以下三个表 Theater ID is3D 其他值 Show ID Theater ID Movie ID date time 其他值 Movie ID is3D 其他值 我想确保3
  • Java-分割字母数字字符串

    输入示例 RC23 CC23QQ21HD32 BPOASDf91A5HH123 输出示例 RC 23 CC 23 QQ 21 HD 32 BPOASDf 91 A 5 HH 123 字母部分和数字部分的长度不固定 我知道如何将 split
  • 带有局部变量的 Mockito

    我有一个简单的方法 返回一个String 它还创建了一个本地List 我想测试一下给本地带来的附加值List 这是一个例子 package com impl import java util ArrayList import java ut
  • Android:setSelection 对 Spinner 没有影响

    我在 Spinner 上使用 setSelection 时遇到一些问题 我将值设置为在代码中显示微调器时预先选择 但它没有任何效果 并且始终选择列表中的第一个替代项 代码如下所示 LayoutInflater li LayoutInflat
  • 在 Flash 中,当 e4x 语句存储在字符串中时,我将如何运行该语句?

    所以我有这样的事情 var xmlStatement String xmlObject node 3 thisValue 我必须使用什么神秘函数才能执行 xmlStatement 并从该 xmlObject 获取 thisValue 喜欢
  • 统计 Android 中的应用程序使用情况

    谁能帮我确定如何计算应用程序在 Android 中的使用次数 写入 SharedPreference onCreate 这不会是一个非常准确的计数 因为 onCreate 有时会被调用 而不仅仅是应用程序启动 但它会是一个相当不错的数字 如
  • 需要将具有相同ID的多行数据转换为1行多列数据

    我回顾了已经解决的问题的版本 但是我发现的一些好的技巧 例如 在 分区 上使用rank 似乎不适用于我所在的Sybase版本 我希望运行一个程序来提取按如下方式组织的数据 电子邮件 偏爱电子邮件1 偏好XYZ电子邮件1 偏好ABC 并将其呈
  • 从 Windows 批处理文件替换文本文件中的字符

    我正在尝试编写一个批处理文件 它将查看一个小文本文件 实际上是一个 CUE 表 中的每个字符 并执行三件事 删除所有问号 用连字符替换任何斜杠 并用两个冒号替换冒号连字符 如下例中的第二行 TRACK 01 AUDIO TITLE Colo
  • NextAuth /api/auth/* 在 Vercel 部署上始终返回 404,但在本地工作

    每当我尝试导航到登录页面时 它都会重定向到 api auth error关于 vercel 部署 在本地 它按预期导航和工作 通过检查网络选项卡 第一个失败的网络请求是 api auth providers 不太确定哪里出了问题 pages
  • 上下文不保存更改并出现错误 1550

    我正在尝试更新实体并保存更改 我总是收到以下错误 The operation couldn t be completed Cocoa error 1550 Method BOOL updateEvent EventDTO eventDTO
  • SCNNode 没有出现在正确的位置

    我下载了wall2 obj来自 Google Blocks 的文件 然后我使用 Blender 将扩展名更改为 dae墙节点没有出现在它应该出现的地方 墙节点放置的位置与应放置的位置 枢轴点位置问题 在搅拌机中改变pivot point的位
  • 如何从 Spring data MongoDB 中的 AggregationOperation 列表创建聚合?

    我想创建一个可以在 MongoOperations 的aggregate 函数中使用的聚合 因此 为了创建聚合 我使用了 AggregationOperation 列表 如下所示 ApplicationContext ctx new Ann
  • 从 JavaScriptExecutor 的 ExecuteScript 获取值

    我有一个需要价值的问题 string someValue IJavaScriptExecutor Global Driver ExecuteScript publication title val Console WriteLine som
  • Symfony2 +Vagrant 性能 - 运行缓慢 - 加速?

    我已经开始使用 vagrant 和 Symfony2 来开发 Web 项目 我使用的是Windows 性能非常慢 因为不支持nfs挂载 我已将缓存放入内存中 这提供了异国情调的提升 禁用了 xdebug 如发布的here 然而 在 Wind
  • 角度形式数组单选按钮

    我正在尝试将单选按钮组添加到 FormArray 问题是 当我选择一个值时 它会更改 FormArray 每个成员的值 我知道这与 formControlName 有关 但是我不知道如何使 formControlName 动态化 我看过这个
  • 如何检查 BigQuery 表中的 JSON 对象列中是否存在空值

    我参考了 GCP Big 查询文档 如下链接所示 但没有成功实现使用这些函数从 Big 查询表中检索非空值 JSON 数据类型列值的目标 参考帮助 https cloud google com bigquery docs reference
  • ReactJS:通过 props 从父级改变子级状态

    免责声明 我已经看过Reactjs 如何修改父级的子状态或道具 并且不相信答案符合我的问题 所以我有一个可重用的 有状态的对话组件 它根据其状态呈现不同的 DOM 我还必须能够控制从父级渲染哪个 DOM TL DR 我应该如何改变父组件的子
  • 多个服务层和数据库事务

    我只是想知道如何最好地处理跨多个服务层的事务 服务层使用 ORM 来存储和检索数据库 交易是否应该在各个服务层内被了解和处理 或者它们应该由另一层处理 例如 我有两个针对用户和客户端的服务层 我想 1 创建并保存新客户端2 创建并保存新用户
  • SortedList<>、SortedDictionary<> 和 Dictionary<>

    我发现SortedList