Java HashMap
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
HashMap 是无序的,即不会记录插入的顺序。
HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
import java.util.HashMap;
public class Hashmap {
public static void main(String[] args) {
HashMap<String,String> sites = new HashMap<String,String>();
sites.put("1", "Google");
sites.put("2", "Runoob");
sites.put("3", "Taobao");
sites.put("4", "Zhihu");
System.out.println(sites);
System.out.println(sites.get("3"));
sites.remove("2");
System.out.println(sites);
System.out.println(sites.size());
for (String s : sites.keySet()){
System.out.println("key:"+s);
}
}
}
HashMap获取Key对应的Value的巧妙方法
x = cnt.getOrDefault(0, 0) + 1; //函数中第一个数是key ,如果没有则默认返回第二个值
HashMap 选择合并方法
//nums是一个含有重复数据的数组,现在累计重复的数以及其个数
HashMap<Integer, Integer> cnt = new HashMap<Integer, Integer>();
for (int x : nums) {
total += x;
cnt.merge(x, 1, Integer::sum);
}
HashMap遍历方法
Map<String, Integer> map = new HashMap<>();
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
}