C#关于System.Collections空间详解
C#的System.Collections命名空间包含可使用的集合类和相关的接口,提供了集合的基本功能。包括了.NET下的非泛型集合类以及非泛型接口等,现详述如下:
该命名空间下的.NET非泛型集合类如下所示:
— System.Collections.ArrayList:数组集合类,使用大小可按动态增加的数组实现Ilist接口。
— System.Collections.BitArray:布尔集合类,管理位值的压缩数组,该值为布尔值。
— System.Collections.Queue:队列,表示对象的先进先出集合。
— System.Collections.Stack:堆栈,表示对象的简单的后进先出集合。
— System.Collections.Hashtable:哈希表,表示键/值对的集合,这些键/值对根据键的哈希代码进行组织
— System.Collections.SortedList:排序集合类,表示键/值对的集合,这些键和值按键排序并可按键和索引访问。
该命名空间下的.NET非泛型接口如下所示:
— System.Collections.ICollection:(继承于IEnumerable)定义所有集合的大小,枚举器和同步方法,可以获取集合中项的个数,并能把项复制到一个简单的数组类型中。
— System.Collections.IComparer:比较两个对象的方法
— System.Collections.IList:(继承于IEnumerable 和 ICollection)表示可按照索引单独访问一组对象,提供集合的项列表,并可以访问这些项。
— System.Collections.IDictionary:(继承于IEnumerable 和 ICollection)表示键/值对的集合
— System.Collections.IDictionaryEnumerator:枚举字典的元素
— System.Collections.IEnumerator:支持在集合上进行简单迭代,可以迭代集合中的项。支持在非泛型集合进行简单迭代。
相关推荐
-
详解java中的Collections类
一般来说课本上的数据结构包括数组.单链表.堆栈.树.图.我这里所指的数据结构,是一个怎么表示一个对象的问题,有时候,单单一个变量声明不堪大用,比如int,String,double甚至一维数组.二维数组无法完全表达你要表达的东西,而定义一个类Class有太过麻烦,这时候,你可以考虑一下用Java中的Collections类.使用Collections类,必须在文件头声明import java.util.*; 一.动态.有序.可变大小的一维数组Vector与ArrayList Collectio
-
java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)
复制代码 代码如下: package RequestPackage; import java.util.HashMap; import java.util.Map; public class CRequest { /** * 解析出url请求的路径,包括页面 * @param strURL url地址 * @return url路径 */ public static String UrlPage(String strURL) { String strPage=null; String[] arr
-
全面解释java中StringBuilder、StringBuffer、String类之间的关系
1. String 类 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间. String a = "a"; //假设a指向地址0x0001 a = "b";//重新赋值后a指向地址0x0002,但0x0001地址中保存的"a"依旧存在,但已经不再是a所指向的,a 已经指向了其它地址. 因此String的操作都是改变赋值地址而不是改变值操作. 2. StringBuf
-
使用Python的内建模块collections的教程
collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的. 定义一个class又小题大做了,这时,namedtuple就派上了用场: >>> from collections import namedtuple >>> Point = n
-
Java中ArrayList类的使用方法
Java中ArrayList类的用法 1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2.如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i=0;i <10;i++ ) //给数组增加10个Int元素 List.Add(i); //..
-
Python collections模块实例讲解
collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类2.deque: 双端队列,可以快速的从另外一侧追加和推出对象3.Counter: 计数器,主要用来计数4.OrderedDict: 有序字典5.defaultdict: 带有默认值的字典 n
-
Python中Collections模块的Counter容器类使用教程
1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类:排序字典,是字典的子类.引入自2.7. namedtuple()函数:命名元组,是一个工厂函数.引入自2.6. Counter类:为hashable对象计数,是字典的子类.引入自2.7. deque:双向队列.引入自2.4. defaultdict:使用工厂函数创建字典,使不用考虑缺失的字典键.引
-
java中File类的使用方法
构造函数 复制代码 代码如下: public class FileDemo { public static void main(String[] args){ //构造函数File(String pathname) File f1 =new File("c:\\abc\\1.txt"); //File(String parent,String child) File f2 =new File("c:\\a
-
用Java集合中的Collections.sort方法如何对list排序(两种方法)
第一种是list中的对象实现Comparable接口,如下: /** * 根据order对User排序 */ public class User implements Comparable <user> { private String name; private Integer order; public String getName() { return name; } public void setName(String name) { this.name = name; } publi
-
java堆栈类使用实例(java中stack的使用方法)
JAVA 中,使用 java.util.Stack 类的构造方法创建对象. public class Stack extends vector 构造方法 : public Stack() 创建一个空 Stack. 方法: 1. public push (item ) 把项 压入栈顶.其作用与 addElement (item ) 相同. 参数 item 压入栈顶的项 . 返回: item 参数 : 2. public pop () 移除栈顶对象,并作为函数的值 返回该对象. 返回:栈顶对象
随机推荐
- 基于Jquery代码实现支持PC端手机端幻灯片代码
- 解析NodeJS异步I/O的实现
- JavaScript设置名字输入不合法的实现方法
- js微信分享实现代码
- c#日期间隔计算示例
- JavaScript 节点操作 以及DOMDocument属性和方法
- mysql 服务意外停止1067错误解决办法小结
- PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】 原创
- css实现文字垂直居中的代码第1/2页
- Vue.js中兄弟组件之间互相传值实例
- jquery实现的可隐藏重现的靠边悬浮层实例代码
- Oracle 触发器的使用小结
- javascript fullscreen全屏实现代码
- 你可能会用到的16个Linux命令
- IIS6中配置PHP的方法 200911
- Apache之AllowOverride参数使用说明
- ASP.NET五步打包下载Zip文件实例
- C#通过Semaphore类控制线程队列的方法
- linux下安装mysql数据库5.6源码安装,修改登录用户密码
- PHP实现Huffman编码/解码的示例代码