HTML5新手入门指南,源码解读-别再说你不知道HashMap原理
<!DOCTYPE html>
<html>
<head>
<title>HashMap 示例</title>
<script>
// 定义 HashMap 类
class HashMap {
constructor() {
this.storage = {};
this.count = 0;
}
// 添加键值对
set(key, value) {
if (!this.storage.hasOwnProperty(key)) {
this.count++;
}
this.storage[key] = value;
}
// 获取指定键的值
get(key) {
return this.storage.hasOwnProperty(key) ? this.storage[key] : undefined;
}
// 移除指定键
remove(key) {
if (this.storage.hasOwnProperty(key)) {
delete this.storage[key];
this.count--;
}
}
// 获取 HashMap 的大小
get size() {
return this.count;
}
// 清空 HashMap
clear() {
this.storage = {};
this.count = 0;
}
}
// 使用 HashMap
const map = new HashMap();
map.set('name', 'Alice');
map.set('age', 25);
console.log(map.get('name')); // 输出: Alice
console.log(map.size); // 输出: 2
map.remove('name');
console.log(map.get('name')); // 输出: undefined
console.log(map.size); // 输出: 1
</script>
</head>
<body>
<h1>HashMap 示例</h1>
</body>
</html>
这段代码定义了一个简单的 HashMap 类,并展示了如何使用它来添加、获取、移除键值对,以及获取 HashMap 的大小。这个实现没有提供哈希碰撞解决或加载因子的处理,但足以作为一个基本示例来教学。
评论已关闭