亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Ruby中Hash哈希結構的基本操作方法小結

2019-10-26 19:29:54
字體:
來源:轉載
供稿:網友

關于哈希
先來了解一下Hash的基本思路:
設要存儲對象的個數為num, 那么我們就用len個內存單元來存儲它們(len>=num); 以每個對象ki的關鍵字為自變量,用一個函數h(ki)來映射出ki的內存地址,也就是ki的下標,將ki對象的元素內容全部存入這個地址中就行了。這個就是Hash的基本思路。
為什么要用一個函數來映射出它們的地址單元呢?
假設現在我要存儲4個元素 13 7 14 11
顯然,我們可以用數組來存。也就是:a[1] = 13; a[2] = 7; a[3] = 14; a[4] = 11;
當然,我們也可以用Hash來存。下面給出一個簡單的Hash存儲:
先來確定那個函數。我們就用h(ki) = ki%5;
對于第一個元素 h(13) = 13%5 = 3; 也就是說13的下標為3;即Hash[3] = 13;
對于第二個元素 h(7) = 7 % 5 = 2; 也就是說7的下標為2; 即Hash[2] = 7;
同理,Hash[4] = 14; Hash[1] = 11;
現在我要你查找11這個元素是否存在。你會怎么做呢?當然,對于數組來說,那是相當的簡單,一個for循環就可以了。
也就是說我們要找4次。
下面我們來用Hash找一下。
首先,我們將要找的元素11代入剛才的函數中來映射出它所在的地址單元。也就是h(11) = 11%5 = 1了。下面我們來比較一下Hash[1]?=11, 這個問題就很簡單了。也就是說我們就找了1次。這個就是Hash的妙處了,通過制定一個規則(函數)來映射出它的地址,數據也就能通過這個規則去找到它的內存地址了。

Ruby中的Hash結構
1.創建哈希:就像創建數組一樣,我們可以通過Hash類來創建一個Hash實例:

h1 = Hash.new                         #默認值為nilh2 = Hash.new(“This is my first hash instance”) #默認值為” This is my first hash instance”:

上面兩個例子都創建了一個空的Hash實例。一個Hash對象總是有一個默認的值——因為如果在一個Hash對象里沒有找到指定的索引(key),將會返回默認值。
創建了Hash對象后,我們就可以像數組那樣給他添加/刪除項了。唯一不同的是,在數組中的索引只是能整數,而在Hash中索引(key)可以是任何類型(any type of object)且唯一的數據:

h2["one"] = "北京"h2["two"] = "上海"h2["three"] = "深圳"h2["four"] = "廣州"

Note: 如果在給Hash賦值時,使用的相同的key,那么后面的值會覆蓋掉前面的值。另外,Ruby還提供了一種方便的創建和初始化Hash的方法,只需要在key后面加一個=>符號并跟一個值即可。每個key-value對用逗號隔開。然后整體用大括號括起來:

h2 = {"one" => "北京","two" =>"上海","three" =>"深圳","four" =>"廣州"  }

2.通過索引存取Hash的值:
要想獲取某個值,可以用下面的方法:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久免费a∨大胸| 国产欧美精品日韩精品| 国产成人中文字幕| 久久久久久久久久久免费精品| 91成人在线观看国产| 国产精品久久av| 久久天天躁狠狠躁夜夜躁| 91综合免费在线| 日韩a**中文字幕| 久热精品视频在线免费观看| 欧美成人在线影院| 久久精品在线播放| 久久精品99久久香蕉国产色戒| 久久影视电视剧免费网站清宫辞电视| 欧美日韩美女在线观看| 精品国产欧美一区二区三区成人| 亚洲人成电影网站色…| 欧美日韩综合视频| 欧美在线观看日本一区| 国产成人久久久精品一区| 国产精品影院在线观看| 乱亲女秽乱长久久久| 亚洲天堂久久av| 国产成人精品免费视频| 色综合导航网站| 国产精品一区二区三| 亚洲免费人成在线视频观看| 国产精品美乳一区二区免费| 日韩精品极品在线观看播放免费视频| 亚洲午夜未满十八勿入免费观看全集| 亚洲国产精品悠悠久久琪琪| 亚洲美女av网站| 色偷偷88888欧美精品久久久| 久久精品免费电影| 久久手机免费视频| 日韩在线资源网| 91福利视频在线观看| 91高清免费在线观看| 在线看国产精品| 久久久久久久91| 日韩av影视综合网| 精品久久久在线观看| 亚洲精品美女网站| 91网站在线免费观看| 国产成人在线一区二区| 亚洲精品美女久久| 久久99精品久久久久久琪琪| 亚洲欧美日韩中文在线制服| 黄色一区二区在线观看| 日韩激情av在线免费观看| 国产精品对白刺激| 国产精品99久久久久久白浆小说| 国产色婷婷国产综合在线理论片a| 中文字幕亚洲欧美一区二区三区| 日韩av在线网站| 少妇高潮久久77777| 日韩一二三在线视频播| 成人激情在线播放| 国产一区在线播放| 日韩亚洲国产中文字幕| 青草青草久热精品视频在线观看| 永久免费毛片在线播放不卡| 国产美女精品视频| 欧美怡春院一区二区三区| 亚洲男人的天堂在线播放| 欧美国产日韩视频| 成人免费网站在线看| 日韩成人在线观看| 欧美日韩电影在线观看| 久久久精品网站| 国产欧亚日韩视频| 美女999久久久精品视频| 亚洲免费成人av电影| 亚洲欧美另类人妖| 久久国产精品亚洲| 日韩中文字幕网站| 亚洲人成在线播放| 欧美极品少妇xxxxⅹ免费视频| 欧美福利小视频| 久久国产精品久久久久久| 成人啪啪免费看| 欧美极品美女视频网站在线观看免费| 久热精品视频在线免费观看| 成人网在线免费看| www国产精品视频| 亚洲天堂视频在线观看| 日韩欧美国产中文字幕| 色妞欧美日韩在线| 亚洲最新视频在线| 中文字幕国产亚洲2019| 日韩在线免费高清视频| 国产欧美精品久久久| 理论片在线不卡免费观看| 欧美—级a级欧美特级ar全黄| 精品女同一区二区三区在线播放| 久久69精品久久久久久国产越南| 国产精品久久久久久婷婷天堂| 国产精品aaaa| 色婷婷久久av| 中文字幕九色91在线| 国产噜噜噜噜久久久久久久久| 国产精品444| 精品成人69xx.xyz| 欧美又大粗又爽又黄大片视频| 亚洲免费小视频| 欧洲成人免费aa| 欧美在线视频在线播放完整版免费观看| 国产黑人绿帽在线第一区| 亚洲xxx自由成熟| 亚洲成人三级在线| 91国语精品自产拍在线观看性色| 精品亚洲永久免费精品| 久久精品国产成人| 日韩精品在线视频美女| 狠狠色噜噜狠狠狠狠97| 欧美国产视频日韩| 亚洲精品视频中文字幕| 欧美自拍大量在线观看| 国产69精品久久久久久| 91精品视频免费观看| 亚洲片在线观看| 国产91免费看片| 欧美激情亚洲自拍| 日韩av资源在线播放| 中文字幕精品久久久久| 91视频国产精品| 亚洲欧美日韩天堂| 欧美最猛性xxxxx免费| 国产精品99免视看9| 久久伊人精品天天| 成人免费直播live| 欧美大片在线免费观看| 欧洲精品久久久| 韩曰欧美视频免费观看| 欧美日韩中文在线观看| 欧美亚洲国产成人精品| www.欧美精品| 一区二区三区 在线观看视| 国产精品678| 亚洲成人精品久久| 日韩在线一区二区三区免费视频| 日韩禁在线播放| 国产欧美在线视频| 九九热精品视频国产| 国产日本欧美一区二区三区| 亚洲成av人片在线观看香蕉| 亚洲国产成人精品电影| 成人a级免费视频| 亚洲国产欧美精品| 丝袜美腿亚洲一区二区| 久久久av免费| 久久久天堂国产精品女人| 国产精品成人av在线| 日韩精品在线视频观看| 伊人av综合网| 国产精品电影网站| 2019中文字幕在线| 国产精品久久久久久久久久久新郎| 91国产精品电影| 亚洲男子天堂网| 国产欧美精品xxxx另类| 国产精品久久久久久久7电影| 91精品视频在线看| 亚洲偷欧美偷国内偷|