java的hashtable的用法

java的hashtable的用法

ID:34417223

大小:24.79 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2019-03-05

java的hashtable的用法_第1頁(yè)
java的hashtable的用法_第2頁(yè)
java的hashtable的用法_第3頁(yè)
java的hashtable的用法_第4頁(yè)
java的hashtable的用法_第5頁(yè)
資源描述:

《java的hashtable的用法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、java的hashtable的用法(1)Vector允許我們用一個(gè)數(shù)字從一系列對(duì)象中作出選擇,所以它實(shí)際是將數(shù)字同對(duì)象關(guān)聯(lián)起來(lái)了。但假如我們想根據(jù)其他標(biāo)準(zhǔn)選擇一系列對(duì)象呢?堆棧就是這樣的一個(gè)例子:它的選擇標(biāo)準(zhǔn)是“最后壓入堆棧的東西”。這種“從一系列對(duì)象中選擇”的概念亦可叫作一個(gè)“映射”、“字典”或者“關(guān)聯(lián)數(shù)組”。從概念上講,它看起來(lái)象一個(gè)Vector,但卻不是通過(guò)數(shù)字來(lái)查找對(duì)象,而是用另一個(gè)對(duì)象來(lái)查找它們!這通常都屬于一個(gè)程序中的重要進(jìn)程。在Java中,這個(gè)概念具體反映到抽象類(lèi)Dictionary身上。該類(lèi)的接口是非常直觀的size()告

2、訴我們其中包含了多少元素;isEmpty()判斷是否包含了元素(是則為true);put(Objectkey,Objectvalue)添加一個(gè)值(我們希望的東西),并將其同一個(gè)鍵關(guān)聯(lián)起來(lái)(想用于搜索它的東西);get(Objectkey)獲得與某個(gè)鍵對(duì)應(yīng)的值;而remove(ObjectKey)用于從列表中刪除“鍵-值”對(duì)。還可以使用枚舉技術(shù):keys()產(chǎn)生對(duì)鍵的一個(gè)枚舉(Enumeration);而elements()產(chǎn)生對(duì)所有值的一個(gè)枚舉。這便是一個(gè)Dictionary(字典)的全部。Dictionary的實(shí)現(xiàn)過(guò)程并不麻煩。下面列出

3、一種簡(jiǎn)單的方法,它使用了兩個(gè)Vector,一個(gè)用于容納鍵,另一個(gè)用來(lái)容納值://:AssocArray.java//SimpleversionofaDictionaryimportjava.util.*;publicclassAssocArrayextendsDictionary{privateVectorkeys=newVector();privateVectorvalues=newVector();publicintsize(){returnkeys.size();}publicbooleanisEmpty(){returnkeys.

4、isEmpty();}publicObjectput(Objectkey,Objectvalue){keys.addElement(key);values.addElement(value);returnkey;}publicObjectget(Objectkey){intindex=keys.indexOf(key);//indexOf()Returns-1ifkeynotfound:if(index==-1)returnnull;returnvalues.elementAt(index);}publicObjectremove(Obj

5、ectkey){intindex=keys.indexOf(key);if(index==-1)returnnull;keys.removeElementAt(index);Objectreturnval=values.elementAt(index);values.removeElementAt(index);returnreturnval;}publicEnumerationkeys(){returnkeys.elements();}publicEnumerationelements(){returnvalues.elements()

6、;}//Testit:publicstaticvoidmain(String[]args){AssocArrayaa=newAssocArray();for(charc='a';c<='z';c++)aa.put(String.valueOf(c),String.valueOf(c).toUpperCase());char[]ca={'a','e','i','o','u'};for(inti=0;i

7、[i])));}}///:~在對(duì)AssocArray的定義中,我們注意到的第一個(gè)問(wèn)題是它“擴(kuò)展”了字典。這意味著AssocArray屬于Dictionary的一種類(lèi)型,所以可對(duì)其發(fā)出與Dictionary一樣的請(qǐng)求。如果想生成自己的Dictionary,而且就在這里進(jìn)行,那么要做的全部事情只是填充位于Dictionary內(nèi)的所有方法(而且必須覆蓋所有方法,因?yàn)樗鼈儭龢?gòu)建器外——都是抽象的)。Vectorkey和value通過(guò)一個(gè)標(biāo)準(zhǔn)索引編號(hào)鏈接起來(lái)。也就是說(shuō),如果用“roof”的一個(gè)鍵以及“blue”的一個(gè)值調(diào)用put()——假定我們

8、準(zhǔn)備將一個(gè)房子的各部分與它們的油漆顏色關(guān)聯(lián)起來(lái),而且AssocArray里已有100個(gè)元素,那么“roof”就會(huì)有101個(gè)鍵元素,而“blue”有101個(gè)值元素。而且要注意一下get(),假如

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。