javaee论坛

普通会员

225648

帖子

335

回复

349

积分

楼主
发表于 2017-09-30 11:29:31 | 查看: 761 | 回复: 0

NETFramework的System.Collections命名空间包含若干用于实现集合的接口和类,并提供有效地处理这些紧密相关的数据的各种算法。

一.System.Collections 命名空间

System.Collections命名空间包含具有以下功能的类型:定义各种标准的、专门的、通用的集合对象。命名空间

命名空间

说明

System.Collections

System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。

System.Collections.Concurrent

System.Collections.Concurrent命名空间提供多个线程安全集合类。当有多个线程并发访问集合时,应使用这些类代替System.Collections和System.Collections.Generic命名空间中的对应类型。

System.Collections.Generic

System.Collections.Generic命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。

System.Collections.ObjectModel

System.Collections.ObjectModel名称空间包含可在可重用库的对象模型中用作集合的类。在属性或方法返回集合时使用这些类。

System.Collections.Specialized

System.Collections.Specialized命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。

 

 

1. System.Collections

System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。

类型

类型名称

说明

 

 

 

ArrayList

使用大小会根据需要动态增加的数组来实现IList接口。数组链表集合。

 

BitArray

管理位值的压缩数组,该值表示为布尔值,其中true表示位是打开的(1),false表示位是关闭的(0)。

 

CaseInsensitiveComparer

比较两个对象是否相等,比较时忽略字符串的大小写。

 

CaseInsensitiveHashCodeProvider

已过时。使用忽略字符串大小写的哈希算法,为对象提供哈希代码。

 

CollectionBase

为强类型集合提供abstract基类。

 

Comparer

比较两个对象是否相等,其中字符串比较是区分大小写的。

 

DictionaryBase

为键/值对的强类型集合提供abstract基类。

 

Hashtable

表示根据键的哈希代码进行组织的键/值对的集合。

 

Queue

表示对象的先进先出集合。

 

ReadOnlyCollectionBase

为强类型非泛型只读集合提供abstract基类。

 

SortedList

表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。

 

Stack

表示对象的简单后进先出(LIFO)非泛型集合。

 

StructuralComparisons

提供用于对两个集合对象执行结构比较的对象。

结构

 

 

 

DictionaryEntry

定义可设置或检索的字典键/值对。

接口

 

 

 

ICollection

定义所有非泛型集合的大小、枚举数和同步方法。

 

IComparer

公开一种比较两个对象的方法。

 

IDictionary

表示键/值对的非通用集合。

 

IDictionaryEnumerator

枚举非泛型字典的元素。

 

IEnumerable

公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。

 

IEnumerator

支持对非泛型集合的简单迭代。

 

IEqualityComparer

定义方法以支持对象的相等比较。

 

IHashCodeProvider

已过时。使用自定义哈希函数为对象提供哈希代码。

 

IList

表示可按照索引单独访问的对象的非泛型集合。

 

IStructuralComparable

支持集合对象的结构比较。

 

IStructuralEquatable

定义方法以支持对象的结构相等性比较。

 

 

2. System.Collections.Generic

System.Collections.Generic命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。

类型

类型名称

说明

 

 

 

Comparer

为IComparer泛型接口的实现提供基类。

 

Dictionary

表示键和值的集合。

 

Dictionary.KeyCollection

表示Dictionary中键的集合。此类不能被继承。

 

Dictionary.ValueCollection

表示Dictionary中值的集合。此类不能被继承。

 

EqualityComparer

为IEqualityComparer泛型接口的实现提供基类。

 

HashSet

表示值的集。

 

KeyedByTypeCollection

提供一个集合,该集合的项是用作键的类型。

 

KeyNotFoundException

指定用于访问集合中元素的键与集合中的任何键都不匹配时所引发的异常。

 

LinkedList

表示双向链接列表。

 

LinkedListNode

表示LinkedList中的节点。此类不能被继承。

 

List

表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。

 

Queue

表示对象的先进先出集合。

 

SortedDictionary

表示根据键进行排序的键/值对的集合。

 

SortedDictionary.KeyCollection

表示SortedDictionary中键的集合。此类不能被继承。

 

SortedDictionary.ValueCollection

表示SortedDictionary中值的集合。无法继承此类

 

SortedList

表示根据键进行排序的键/值对的集合,而键基于的是相关的IComparer实现。

 

SortedSet

表示按排序顺序保持的对象的集合。

 

Stack

表示相同任意类型的实例的可变大小的后进先出(LIFO)集合。

 

SynchronizedCollection

提供一个线程安全集合,其中包含泛型参数所指定类型的对象作为元素。

 

SynchronizedKeyedCollection

提供一个线程安全集合,该集合所含对象的类型由一个泛型参数指定,并且集合根据键进行分组。

 

SynchronizedReadOnlyCollection

提供一个线程安全只读集合,该集合包含泛型参数所指定的类型的对象作为元素。

结构

 

 

 

Dictionary.Enumerator

枚举Dictionary的元素。

 

Dictionary.KeyCollection.Enumerator

枚举Dictionary.KeyCollection的元素。

 

Dictionary.ValueCollection.Enumerator

枚举Dictionary.ValueCollection的元素。

 

HashSet.Enumerator

枚举HashSet对象的元素。

 

KeyValuePair

定义可设置或检索的键/值对。

 

LinkedList.Enumerator

枚举LinkedList的元素。

 

List.Enumerator

枚举List的元素。

 

Queue.Enumerator

枚举Queue的元素。

 

SortedDictionary.Enumerator

枚举SortedDictionary的元素。

 

SortedDictionary.KeyCollection.Enumerator

枚举SortedDictionary.KeyCollection的元素。

 

SortedDictionary.ValueCollection.Enumerator

枚举SortedDictionary.ValueCollection的元素。

 

SortedSet.Enumerator

枚举SortedSet对象的元素。

 

Stack.Enumerator

枚举Stack的元素。

接口

 

 

 

ICollection

定义操作泛型集合的方法。

 

IComparer

定义类型为比较两个对象而实现的方法。

 

IDictionary

表示键/值对的泛型集合。

 

IEnumerable

公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。

 

IEnumerator

支持在泛型集合上进行简单迭代。

 

IEqualityComparer

定义方法以支持对象的相等比较。

 

IList

表示可按照索引单独访问的一组对象。

 

IReadOnlyCollection

表示元素的强类型的只读集合。

 

IReadOnlyDictionary

表示键/值对泛型只读集合对。

 

IReadOnlyList

表示可以按索引获取元素的只读集合。

 

ISet

提供用于集的抽象化的基接口。

 

3. System.Collections.Specialized

System.Collections.Specialized命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。

类型

类型名称

说明

 

 

 

CollectionChangedEventManager

提供WeakEventManager实现,以便可以使用“弱事件侦听器”模式附加CollectionChanged事件的侦听器。

 

CollectionsUtil

创建忽略字符串大小写的集合。

 

HybridDictionary

通过以下方法来实现IDictionary:在集合较小时使用ListDictionary,然后在集合变大时切换到Hashtable。

 

ListDictionary

使用单向链接列表实现IDictionary。建议为通常包括少于10个项目的集合。

 

NameObjectCollectionBase

为关联的String键和Object值的集合(可通过键或索引来访问它)提供abstract基类。

 

NameObjectCollectionBase.KeysCollection

表示集合的String键的集合。

 

NameValueCollection

表示可通过键或索引访问的关联String键和String值的集合。

 

NotifyCollectionChangedEventArgs

为CollectionChanged事件提供数据。

 

OrderedDictionary

表示键或索引可访问的键/值对的集合。

 

StringCollection

表示字符串的集合。

 

StringDictionary

使用字符串(而不是对象)强类型的键和值来实现哈希表。

 

StringEnumerator

支持在StringCollection上进行简单迭代。

结构

 

 

 

BitVector32

提供一个简单结构,该结构以32位内存存储布尔值和小整数。

 

BitVector32.Section

表示可以包含整数的向量的节。

接口

 

 

 

INotifyCollectionChanged

向侦听器通知动态更改,如在添加或移除项时或在刷新整个列表时。

 

IOrderedDictionary

表示键/值对的索引集合。

委托

NotifyCollectionChangedEventHandler

表示处理CollectionChanged事件的方法。

枚举

NotifyCollectionChangedAction

描述引起了CollectionChanged事件的操作。

 

 

4. System.Collections.Concurrent命名空间

System.Collections.Concurrent命名空间提供多个线程安全集合类。当有多个线程并发访问集合时,应使用这些类代替System.Collections和System.Collections.Generic命名空间中的对应类型。

类型

类型名称

说明

 

 

 

BlockingCollection

为实现IProducerConsumerCollection的线程安全集合提供阻塞和限制功能。

 

ConcurrentBag

表示对象的线程安全的无序集合。

 

ConcurrentDictionary

表示可由多个线程同时访问的键值对的线程安全集合。

 

ConcurrentQueue

表示线程安全的先进先出(FIFO)集合。

 

ConcurrentStack

表示线程安全的后进先出(LIFO)集合。

 

OrderablePartitioner

表示将一个可排序数据源拆分成多个分区的特定方式。

 

Partitioner

提供针对数组、列表和可枚举项的常见分区策略。

 

Partitioner

表示将一个数据源拆分成多个分区的特定方式。

接口

 

 

 

IProducerConsumerCollection

定义供制造者/使用者用来操作线程安全集合的方法。此接口提供一个统一的表示(为生产者/消费者集合),从而更高级别抽象如System.Collections.Concurrent.BlockingCollection可以使用集合作为基础的存储机制。

枚举

 

 

 

EnumerablePartitionerOptions

即开即用分区程序使用创建设置默认行为。例如,默认情况下,缓冲区的某种形式和多级组块将使用完成IEnumerable实现是快速、非阻塞常见方案的最佳性能。使用此枚举,这些行为可重写。

 

 

5. System.Collections.ObjectModel命名空间

System.Collections.ObjectModel名称空间包含可在可重用库的对象模型中用作集合的类。在属性或方法返回集合时使用这些类。

类型

类型名称

说明

 

 

 

Collection

提供泛型集合的基类。

 

KeyedCollection

提供集合键嵌入在值中的集合的抽象基类。

 

ObservableCollection

表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。

 

ReadOnlyCollection

提供泛型只读集合的基类。

 

ReadOnlyDictionary

表示键/值为只读,泛型集合对。

 

ReadOnlyDictionary.KeyCollection

表示ReadOnlyDictionary对象的关键的只读集合。

 

ReadOnlyDictionary.ValueCollection

表示ReadOnlyDictionary对象值的只读集合。

 

ReadOnlyObservableCollection

表示只读ObservableCollection。

 




您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017