当前位置: 首页 > news >正文

php的hashmap,php如何实现hashmap

php实现hashmap的方法:使用【construct()】构造函数实现,代码为【Class HashMap{var $H_table;public function __construct(){$this->H_table = a}】。

a091a7bb54d93ab77925a5e1390219b4.png

php实现hashmap的方法:

主要方法参照JAVA的HASHMAP实现的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培训栏目!

相关文章:

  • php创建表格,php 创建表
  • php 执行流程图,PHP底层设计及执行流程
  • java 过期缓存,带有过期密钥的Java基于时间的映射/缓存
  • php中两个变量都是string_内容也一样但是长度不一样,php基础知识期末考试题无答案...
  • java两个子线程通信,java – 两个线程如何在两个线程运行时进行通信?
  • php7 phpunittest,php - 如何用phpunit运行单一测试方法?
  • zabbix监控php,zabbix监控php状态
  • php语言的form,PHP语言 HTTP请求类,支持GET,POST,Multipart、form-data
  • JAVA定义一个狗看门,为什么我用接口实现狗看门的功能出错?
  • 查看php-fpm配置文件,php-fpm 配置文件检测
  • 用php查ip,php – 有效的ip-位置查询
  • php 怎么取出一个最大值,php max() min() 返回最大值和最小值
  • 公示系统php,企业信用查询公示系统
  • oracle判断单数双数,代码中你所不知道的偶数与奇数的判断方法
  • c 访问oracle视图,Oracle视图
  • easy-rules规则引擎最佳落地实践
  • 看我如何连夜自建网站背刺我的求职对手们
  • 027.将有序数组转换为二叉搜索树
  • 第五届传智杯-初赛【B组-题解】
  • 最全面的SpringMVC教程(一)——SpringMVC简介
  • OpenCV-Python小应用(六):车道线检测
  • 微信小程序介绍
  • matlab实现MCMC的马尔可夫转换MS- ARMA - GARCH模型估计
  • 华为云桌面Workspace,让你的办公更加舒适惬意
  • 基于优先级的时间片轮转调度算法(C语言实现)