$hs=@() #定義陣列
$hs=@{} #定義hash表,使用雜湊表的鍵可以直接訪問對應的值,如 $hs["王五"] 或者 $hs.王五 的值為 75
$hs=@''@ #定義文字字串
1hash表的新建、修改、刪除:$hs = @'2張三
3男412歲
5 '@
1hash表巢狀:#新建hash表
2$rs=@
3$rs45
$rs = @{}
6$rs.name="
lily"7
$rs.score=90
8$rs910
#新增鍵值
11$rs.age=20
12$rs
1314
#刪除鍵值
15$rs.remove("
age")16
$rs
1取hash表中的值:$infors = @{}
2$infors.pc1=@45
$infors.pc2=@
7$infors
.pc2.cpu89
#取pc1的值
10$infors
.pc1
11$infors["
pc1"]
遍歷hash表:
hash表中的內容不能直接被當做物件來使用,需要進行轉換
1遍歷hash表:#定義hash表
2$hash=@
3$hash.add("
dd","
fffff
")
1舉例:使用hash表取出分數相同的學生檔案cc.txt內容如下:#方法一:
2foreach($obj
in$hash
.keys)37
8#方法二:
9foreach($obj
in$hash)10
12}1314
#方法三(複製到陣列):
15$array=new-object system.object -argumentlist $hash
.count
16$hash.copyto($array,0)
17$array
李一 93
王二 83
王三 93
李四 60
王五 75
馬六 61
孫七 75
劉八 75
將檔案cc.txt中的內容儲存到hash表中:
1結果如下:$hs=@{}
2 get-content d:\cc.txt | foreach-object
6$hs
通過 group-object 對成績分組:
判斷hash表中是否存在某個值:
格式化輸出:
1參考: #建立hash表#改變列標題為name,所有processname輸出為大寫格式,下面兩種寫法輸出結果相同:
將processname列標題名稱改為name
get-process|select id,@
#將hash表轉換為物件
#遍歷hash表
雜湊(hash 雜湊表)
可以認為雜湊有著陣列的思想,它將所有的資料段拼成乙個陣列 順序表 進行儲存,通過雜湊函式,可以基本上以o 1 的時間複雜度來查詢和儲存資料。通過資料段中的唯一關鍵字 key 經過某種演算法,得出此資料段在整個雜湊陣列 順序表 中的的下標,然後直接取元素即可。有資料結構如下 資料段 key,value...
Hash表(雜湊表 雜湊表)
雜湊函式 乙個把查詢表中的關鍵字對映成該關鍵字對應的位址的函式,記為hash key addr。位址可以是陣列下標,索引,或記憶體位址等 衝突 雜湊函式可能會把兩個和兩個以上的不同關鍵字對映到同一位址。衝突不可避免,所以要設計好的處理衝突的方法。同義詞 發生碰撞的不同關鍵字為同義詞。雜湊表 根據關鍵...
Hash和雜湊 雜湊 表
hash又稱為雜湊,是把任意長度的輸入 又叫做預對映pre image 通過雜湊演算法變成固定長度的輸出,該輸出就是雜湊值。hash演算法還有乙個特點,就是很難找到逆向規律。在同一函式下,如果兩個雜湊值是不相同的,那麼這兩個雜湊值的原始輸入也是不同的。hash演算法又被稱為雜湊演算法。雖然被稱為演算...