小編給大家分享一下php怎么實(shí)現(xiàn)hashmap,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司專注于葉集企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā)。葉集網(wǎng)站建設(shè)公司,為葉集等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
php實(shí)現(xiàn)hashmap的方法:使用【construct()】構(gòu)造函數(shù)實(shí)現(xiàn),代碼為【Class HashMap{var $H_table;public function __construct(){$this->H_table = a}】。
php實(shí)現(xiàn)hashmap的方法:
主要方法參照J(rèn)AVA的HASHMAP實(shí)現(xiàn)的
Class HashMap{ var $H_table; public function __construct() { $this->H_table = array (); } public function put($key, $value) { if (!array_key_exists($key, $this->H_table)) { $this->H_table[$key] = $value; return null; } else { $tempValue = $this->H_table[$key]; $this->H_table[$key] = $value; return $tempValue; } } public function get($key) { if (array_key_exists($key, $this->H_table)) return $this->H_table[$key]; else return null; } public function remove($key) { $temp_table = array (); if (array_key_exists($key, $this->H_table)) { $tempValue = $this->H_table[$key]; while ($curValue = current($this->H_table)) { if (!(key($this->H_table) == $key)) $temp_table[key($this->H_table)] = $curValue; next($this->H_table); } $this->H_table = null; $this->H_table = $temp_table; return $tempValue; } else return null; } public function keys(){ return array_keys($this->H_table); } public function values(){ return array_values($this->H_table); } public function putAll($map){ if(!$map->isEmpty()&& $map->size()>0){ $keys = $map->keys(); foreach($keys as $key){ $this->put($key,$map->get($key)); } } } public function removeAll() { $this->H_table = null; $this->H_table = array (); } public function containsValue($value) { while ($curValue = current($this->H_table)) { if ($curValue == $value) { return true; } next($this->H_table); } return false; } public function containsKey($key) { if (array_key_exists($key, $this->H_table)) { return true; } else { return false; } } public function size() { return count($this->H_table); } public function isEmpty() { return (count($this->H_table) == 0); } public function toString() { print_r($this->H_table); } }
看完了這篇文章,相信你對php怎么實(shí)現(xiàn)hashmap有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!