在C#中SortedList是按键排序的键/值对的集合。默认情况下, 此集合按升序对键/值对进行排序。它具有通用和非通用类型的集合。通用SortedList定义在System.Collections.Generic命名空间, 而非通用SortedList在下面定义系统集合命名空间。
【C#中SortedList和SortedDictionary之间的区别】例子:
//C# program to illustrate how
//to create a sortedlist
using System;
using System.Collections;
class GFG {//Main Method
static public void Main()
{//Creating a sortedlist
//Using SortedList class
SortedList my_Slist = new SortedList();
//Adding key/value pairs in
//SortedList using Add() method
my_Slist.Add(1.02, "Dog" );
my_Slist.Add(1.07, "Cat" );
my_Slist.Add(1.04, "Rat" );
my_Slist.Add(1.01, "Bird" );
foreach (DictionaryEntry pair in my_Slist)
{
Console.WriteLine( "{0} and {1}" , pair.Key, pair.Value);
}
Console.WriteLine();
}
}
输出如下:
1.01 and Bird
1.02 and Dog
1.04 and Rat
1.07 and Cat
在C#中分类词典是一个通用集合, 用于以排序形式存储键/值对, 并且对键进行排序。 SortedDictionary在下定义System.Collection.Generic命名空间。它本质上是动态的, 这意味着已排序字典的大小会根据需要而增加。
例子:
//C# program to illustrate how
//to create a sorted dictionary
using System;
using System.Collections.Generic;
class GFG {//Main Method
static public void Main()
{//Creating sorted dictionary
//Using SortedDictionary class
SortedDictionary<
int , string>
My_sdict =
new SortedDictionary<
int , string>
();
//Adding key/value pair in Sorted
//Dictionary Using Add() method
My_sdict.Add(004, "Roscosmos" );
My_sdict.Add(003, "ESA" );
My_sdict.Add(001, "NASA" );
My_sdict.Add(005, "ISRO" );
My_sdict.Add(002, "CNSA" );
Console.WriteLine( "Top 5 space agencies 2018:" );
//Accessing the key/value pair of the
//SortedDictionary Using foreach loop
foreach (KeyValuePair<
int , string>
pair in My_sdict)
{
Console.WriteLine( "Rank: {0} and Name: {1}" , pair.Key, pair.Value);
}
}
}
输出如下:
Top 5 space agencies 2018:
Rank: 1 and Name: NASA
Rank: 2 and Name: CNSA
Rank: 3 and Name: ESA
Rank: 4 and Name: Roscosmos
Rank: 5 and Name: ISRO
以下是SortedList和SortedDictionary之间的一些区别:
SortedList | SortedDictionary |
---|---|
SortedList的内存是开销。 | SortedDictionary的内存没有瓶颈。 |
在SortedList中, 元素存储在内存中的连续块中。 | 在SortedDictionary中, 元素存储在单独的对象中, 该对象可以遍及整个堆。 |
在SoterdList中, 内存碎片很大。 | 在SoterdDictionary中, 内存碎片少。 |
它需要较少的存储空间。 | 它需要更多的存储空间。 |
在SortedList中, 需要较少的插入和删除操作。 | 在SortedDictionary中, 需要更多的插入和删除操作。 |
在SortedList中, 可以使用索引访问元素。 | 在SortedDictionary中, 可以使用索引或键访问元素。这里的键访问就足够了, 不需要使用索引访问元素。 |
在SortedList中, 数据已采用排序形式。 | 在SortedDictionary中, 数据为未排序形式。 |
推荐阅读
- 假脱机和缓冲之间有什么区别()
- #yyds干货盘点# Centos7安装kvm虚拟机(使用virt-install管理)
- 鸿蒙轻内核源码分析(虚拟文件系统VFS)
- FFHLinux下配置小熊派-鸿蒙·叔设备开发(南向)的开发环境
- 磁盘读写测试--基于dd工具
- #yyds干货盘点#jackson学习之六(常用类注解)
- Teleport堡垒机介绍
- #yyds干货盘点# Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介
- go语言学习--注释