CSDN博客

img zero000

集合操作

发表于2004/9/15 10:07:00  777人阅读

常常需要一个合适的集合操作,用于查询某个关键字是否在集合中,数组,collection都不能直接完成。

System.Collection名称空间

      在.NET系统类库中提供的新集合功能来自System.Collection名称空间中。这个名称空间不仅支持过去的一个简单集合概念,也支持由Windows Scripting Host Library提供的Dictionary样式集和。其他类型的集合也可用。以下是常用的集合列表:

集合

描述

Arraylist

执行随着元素的增加而动态增长的一维数组

BitArray

执行有Boolean值的一维数组,这些值作为单子节在内部存储,提供了一种非常紧凑的格式管理一系列的Boolean值

Dictionary

执行一个键-值数据对集合可以在Dictionary对象中存储和检索

Hashtable

执行一个键值数据对集合,这个集合根据键的散列值进行组织。加快了存储速度,提高了存储效率,还可以根据健值检索数据。

ObjectList

执行随机对象集合。因为所有的数据类型都可以用Object表示,这个集合可以虚拟保存任何数据。

Queue

执行一个FIFD(先进先出)队列

SortedList

执行一系列已分类的键值对

Stack

执行一个LIFO(后进先出)的堆栈式结构。

StringCollection

执行一个String值的集合

  与一个Collection数据类型相比,可用的各种类看起来更具优势。 但是现在的选项和类都比过去多了,如Hashtabel和Objectlist,他们提供与我们熟悉的Collection对象相当的功能。

      例如,对于不需关心元素顺序的Collection式样的功能来说,可以使用Hashtabel类:

Imports System.Collection

Public Sub DoSomething()

    Dim ht As New Hashtabel()
    Dim entry As DictionaryEntry

    ht.Add(1,"item 1")
    ht.Add(2,"item 2")

For Each entry In ht
    System.Diagnostics.Debug.WriteLine(entry.Value)
Next

End Sub

      与所有的键值集合一样,集合的元素由DictionaryEntry对象表示,以访问某个元素的键和值。

      虽然Hashtabel与VB6 Collection对象稍有不同,但代码十分相似,总体上与用于处理System.Collection名称空间中的其他集合类的所编写的代码集合类一致。

 

其中,dictionary在1。1库中没有,只有一个抽象基类dictionarybase,所以用hashtable

阅读全文
0 0

相关文章推荐

img
取 消
img