C#集合概述
C#集合概述
2016-11-29



| 集合 | 顺序排列 | 连顺存储 | 直接访问方式 | 访问时间 | 操作时间 | 备注 |
| Dictionary | 是 | Key | Key:O(1) | O(1) | 访问性能最快,不支持排序 | |
| SortedDinctionary | 顺序排列 | 否 | Key | Key:O(log n) | O(log n) | 快速访问和支持排序的折衷 |
| SortedList | 顺序排列 | 是 | Key | Key:O(log n) | O(n) | 和SortedDictionary相似,只是内部用数据替代树作为存储结构。 |
| List | 使用者可以精确控制元素的位置 | 是 | Index | Index: O(1) Value: O(n) |
O(n) | 最适合需要直接访问每一个元素的少量集合。 |
| LinkedList | 使用者可以精确控制元素的位置 | 否 | 不支持 | Value:O(n) | O(1) | 最适合不需要直接访问单个元素,但是在集合中添加/移除非常频繁的场景。 |
| HashSet | 不支持 | 是 | Key | Key:O(1) | O(1) | 能保持元素唯一性的集合。不支持排序 |
| SortedSet | 顺序排列 | 否 | Key | Key:O(log n) | O(log n) | 能保持元素唯一性并且支持排序。 |
| Stack | LIFO | 是 | 只能获取顶部元素 | Top: O(1) | O(1) | |
| Queue | FIFO | 是 | 只能获底部元素 | Front: O(1) | O(1) |
【2】C#知识简单梳理
【3】C#集合类型大盘点
C#集合概述的更多相关文章
- 《java集合概述》
JAVA集合概述: Collection: |---List有序的:通过索引就可以精确的操作集合中的元素.元素是可以重复的. List提供了增删改查的动作. 增加add(element) add(in ...
- Java基础知识强化之集合框架笔记38:Set集合之Set集合概述和特点
1. Set集合概述和特点 Collection |--List 有序(存储顺序和取出顺序一致),可重复 |--Se ...
- Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)
Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...
- Java笔记:Java集合概述和Set集合
本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...
- Map集合概述和特点
A:Map集合概述和特点(Set底层依赖的是Map) 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接口的不同 Map是双列的(是双列集 ...
- 第8章-Java集合 --- 概述
第8章-Java集合 --- 概述 (1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈.队列等. (2)Java集合大致可分为Set.List ...
- Java集合--概述
目录 Java集合--概述 摘要 图示 正文 Java集合--概述 摘要 本文主要介绍集合的整体概念,并作为接下来Java集合实现类讲解的索引. 图示 这是在网上看到了这样一张图,感觉很清晰, ...
- Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)
集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...
- Java集合----概述、Collection接口、Iterator接口
Java 集合概述 Java 集合就像一种容器,可以把多个对象的引用放入容器中. Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组 Java 集合可分为 Set.Li ...
随机推荐
- KeyBoardUtils.java——android键盘工具类
package com.xdsjs.save.utils; import android.content.Context; import android.view.inputmethod.InputM ...
- MySQL 分库备份
mysql -uroot -p'password' -e "show databases;"|grep -Evi "database|infor|perfor" ...
- 【Docker】拉取Oracle 11g镜像配置
以下是基于阿里云服务器Centos 7操作 1.拉取Oracle11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_1 ...
- 关于html中的doctype的重要性的认知以及IE的浏览器模式与文档模式
浏览器模式”用于切换IE针对该网页的默认文档模式.对不同版本浏览器的条件备注解析.发送给网站服务器的用户代理(User-Agent)字符串的值.网站可以根据浏览器返回的不同用户代理字符串判断浏览器的版 ...
- sqlite 附加和分离数据库
附加数据库 ATTACH DATABASE 'testDB.db' as 'TEST'; 分离数据库 DETACH DATABASE 'Test';
- INNODB自增主键的一些问题 vs mysql获得自增字段下一个值
今天发现 批量插入下,自增主键不连续了....... InnoDB AUTO_INCREMENT Lock Modes This section describes the behavior of A ...
- Spring Framework Ecosystem – Introduction to Spring Projects
来自于:http://springtutorials.com/spring-ecosystem/ Hello and Welcome to Spring Tutorials Blog! Is it f ...
- leetcode679:24Game
题目链接 考虑1,5,5,5这种情况,有:5*(5-1/5)=24所以除法必须自定义运算才行. class Num: def __init__(self,up,down=1): self.up=up ...
- 分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
- 在Windows Service上安装运行Redis
CSDN下载RedisWatcher,运行InstallWatcher.msi,默认安装在C:\Program Files (x86)\RedisWatcher,修改watcher.conf # re ...