# 哈希表
# C++
unordered_map 无序哈希表,一对一,没有顺序
# 四大迭代器
begin() end() rbegin() rend()
# clear()
清空哈希表
# find()
搜索key,如果没有找到就返回end()
# 操作符[]
unordered_map<int,int> hash;
hash[0] = 1;
# Java
HashMap
# put()
put(key,value) 将键值对添加到HashMap中, 如果键值对原本就存在则替换
# putAll()
将另一个HashMap中的全部元素添加到HashMap中
# putIfAbent()
putIfAbent(key,value) 如果没有找到key,就插入键值对
# remove()
remove(key,value) 将指定的键值对删除
# containsKey()
检查是否存在该键
# containsValue()
检查是否存在该值
# get()
获取key 对应的value
# getOrDefault()
获取key 对应的value如果没有该键值对,返回默认值
# keySet()
返回key的迭代器
// 遍历
Map<String,String> hash = new HashMap();
for(String key : hash.keySet()){
// do
}
for(Map.Entry<String,String> entry : hash.entrySet()){
// do
}
# Python
dict() Python自带的字典 defaultdict(Type) 好用的字典,带有默认值的 [ from collections import defaultdict ]
# clear()
清空哈希表
# get()
get(key, default=None) 返回键对应的值,如果没有映射关系,那就返回default
# items()
返回一个视图对象
for key,value in dict.items():
# keys()
返回一个key的视图对象
# values()
返回一个value的视图对象
# 操作符in
判断是否存在该key
d = defaultdict(int)
d[1] = 2
a = 1
print(a in d) # True