Hashtable基礎學習
一、雜湊表(hashtable)簡述
在.net framework中,hashtable是system.collections名稱空間提供的一個容器,用於處理和表現類似key/value的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫;value用於儲存對應於key的值。hashtable中key/value鍵值對均為object型別,所以hashtable可以支援任何型別的key/value鍵值對.
二、雜湊表的簡單操作
在雜湊表中新增一個key/value鍵值對:hashtableobject.add(key,value);
在雜湊表中去除某個key/value鍵值對:hashtableobject.remove(key);
從雜湊表中移除所有元素: hashtableobject.clear();
判斷雜湊表是否包含特定鍵key: hashtableobject.contains(key);
下面控制檯程式將包含以上所有操作:
using system;
using system.collections; //使用hashtable時,必須引入這個名稱空間
class hashtable
{
public static void main()
{
hashtable ht=new hashtable(); //建立一個hashtable例項
ht.add("e","e"); //新增key/value鍵值對
ht.add("a","a");
ht.add("c","c");
ht.add("b","b");
string s=(string)ht["a"]; //object型轉換為string
if(ht.contains("e")) //判斷雜湊表是否包含特定鍵,其返回值為true或false
console.writeline("the e key:exist");
ht.remove("c"); //移除一個key/value鍵值對
console.writeline(ht["a"]);//此處輸出a
ht.clear();//移除所有元素
console.writeline(ht["a"]); //此處將不會有任何輸出
}
}
三,遍歷雜湊表
遍歷雜湊表需要用到dictionaryentry object,程式碼如下:
foreach(dictionaryentry de in ht) //ht為一個hashtable例項
{
console.writeline(de.key); //de.key對應於key/value鍵值對key
console.writeline(de.value); //de.key對應於key/value鍵值對value
}
四,對雜湊表進行排序
對雜湊表進行排序在這裡的定義是對key/value鍵值對中的key按一定規則重新排列,是實際上這個定義是不能實現的,因為我們無法直接在hashtable進行對key進行重新排列,如果需要 hashtable提供某種規則的輸出,可以採用一種變通的做法:
arraylist akeys=new arraylist(ht.keys); //用動態陣列存放Hashtable中的所有鍵值
akeys.sort(); //按字母順序進行排序
foreach(string skey in akeys)
{
console.write(skey + ":");
console.writeline(ht[skey]); //排序後輸出
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-571191/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 免殺學習-基礎學習
- Docker 基礎學習Docker
- Flume基礎學習
- Redis 基礎學習Redis
- Pandas基礎學習
- Scala基礎學習
- 【Vue學習】基礎Vue
- jQuery基礎學習jQuery
- HTML基礎學習HTML
- Java基礎學習Java
- JVM基礎學習JVM
- Zookeeper 基礎學習
- kafka基礎學習Kafka
- 深度學習基礎深度學習
- Linux基礎學習——檔案基礎Linux
- redis學習——基礎指令Redis
- Zookeeper學習——基礎框架框架
- YII-基礎學習
- python基礎學習Python
- opencv學習之基礎OpenCV
- Linux基礎學習Linux
- SQL學習___01:基礎SQL
- [pwn基礎]Pwntools學習
- 深度學習--RNN基礎深度學習RNN
- 學習linux基礎Linux
- 遙感基礎學習
- 重新學習vue基礎Vue
- 基礎學習問題
- swift基礎學習(十六)Swift
- [JavaScript基礎]學習①⑨--generatorJavaScript
- Android基礎學習Android
- php學習基礎(2)PHP
- database replay基礎學習Database
- JavaScript學習(1):基礎JavaScript
- Css基礎學習—索引CSS索引
- canva基礎學習(一)
- java基礎的學習Java
- Linux基礎學習-Docker學習筆記LinuxDocker筆記