mirror of
https://github.com/furyfire/trueskill.git
synced 2025-01-16 01:47:39 +00:00
49 lines
881 B
PHP
49 lines
881 B
PHP
<?php
|
|
|
|
namespace Moserware\Skills;
|
|
|
|
class HashMap
|
|
{
|
|
private $_hashToValue = array();
|
|
private $_hashToKey = array();
|
|
|
|
public function getValue($key)
|
|
{
|
|
return $this->_hashToValue[self::getHash($key)];
|
|
}
|
|
|
|
public function setValue($key, $value)
|
|
{
|
|
$hash = self::getHash($key);
|
|
$this->_hashToKey[$hash] = $key;
|
|
$this->_hashToValue[$hash] = $value;
|
|
return $this;
|
|
}
|
|
|
|
public function getAllKeys()
|
|
{
|
|
return \array_values($this->_hashToKey);
|
|
}
|
|
|
|
public function getAllValues()
|
|
{
|
|
return \array_values($this->_hashToValue);
|
|
}
|
|
|
|
public function count()
|
|
{
|
|
return \count($this->_hashToKey);
|
|
}
|
|
|
|
private static function getHash($key)
|
|
{
|
|
if(\is_object($key))
|
|
{
|
|
return \spl_object_hash($key);
|
|
}
|
|
|
|
return $key;
|
|
}
|
|
}
|
|
?>
|