'vb:collection (集合)物件示例
'━━━━━━━━━━━━━━━━━━━━━━━━━━
'本示例建立乙個命名為 myclasses 的 collection 物件,再建立乙個對話方塊,讓使用者可從對話方塊中將物件建立到該集合物件中。
'若要觀察程式如何工作,請先在「插入」選單上選擇「類模組」命令,然後在 class1 的模組級中宣告乙個公用變數,
'命名為 instancename(型別為 public instancename),此變數用來儲存每個類例項的名稱。不要更改類的預設名稱 class1。
'將下列**複製到另乙個模組的「通用」節中,然後在另乙個過程中用 classnamer 語句使它啟動啟用。
'(本示例僅使用支援類的主機應用程式。)
sub classnamer()
dim myclasses as new collection
' 建立乙個集合物件(collection)。
dim num
' 計數用變數,用來對物件的個數計數。
dim msg as
string
' 提示資訊用變數。
dim thename, myobject, namelist
' 物件資訊用變體。
dodim inst as new class1
' 建立 class1 的新例項。
num = num + 1
' 把計數變數 num 加一,然後要求輸入新物件個體的名稱。
msg =
"please enter a name for this object. " &
chr (13) &
"press cancel to see names in collection. "
thename =
inputbox (msg,
"name the collection items " )
inst.instancename = thename
' 將名稱送入物件例項。
if inst.instancename <>
" "then
' 若使用者輸入了名稱,將它加入集合。
myclasses.add item:=inst, key:=
cstr (num)
' 將命名的物件加入集合。
endif
set inst =
nothing
' 清除當前的引用,為對下乙個物件做準備。
loop
until thename =
" "foreach myobject
in myclasses
' 建立名稱列表。
namelist = namelist & myobject.instancename &
chr (13)
next myobject
msgbox namelist, ,
"instance names in myclasses collection "
' 將名稱列表在訊息框中顯示出來。
for num = 1
to myclasses.count
' 從集合中刪除名字。
myclasses.remove 1
' 每刪除乙個物件後,集合會自動重排順序,故每次迭代時只需刪除第乙個物件即可。
next
endsub
對集合的理解
集合的話主要有兩大介面 乙個是collection介面,另乙個是map介面1.collection中,有三個子介面 set,list,queue a.set介面 不可重複 1 hashset 無序 事實上,內部是根據元素的hashcode進行排序的 2 treeset 按照比較結果的公升序進行進行排...
Dictionary 鍵值對集合
1 鍵值對集合初始化,宣告鍵和值的資料型別 2 dictionary dic new dictionary 3 新增資料 4 dic.add 1 張三 5 dic.add 2 李四 6 dic.add 3 王五 7 dic.add 4 趙六 8 鍵值對集合中的鍵必須是唯一的9 鍵值對集合中的值是可以...
C Hashtable鍵值對集合
一 hashtable鍵值對集合相當於乙個字典 二 在hashtable中,鍵是唯一的,而值可以不唯一 三 hashtable也需要建立物件 四 hashtable中的常用方法 1.新增元素 1 add hashtable ht new hashtable ht.add 1,5 ht.add abc...