- 添加元素
- 访问元素
- 删除元素
- 计算大小
- 迭代
- hashmap常用的一些方法
HashMap是一个散列表,他储存的内容是键值对(key-value)映射
HashMap实现了Map接口,根据HashCode来储存数据,具有很快的访问速度,最多允许一条记录为null,不支持线程同步
HashMap 是无序的,不会记录插入的顺序
以下是Hash Map 的类图
HashMap 的 key 与 value 类型可以相同也可以不同,可以是字符串(String)类型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)类型的 value。
语 法 color{#FF0000}{语法} 语法
HashMap添加元素stringHashMap = new HashMap<>();
实 例 color{#FF0000}{实例} 实例
public static void main(String[] args) {
HashMap stringHashMap = new HashMap<>();
stringHashMap.put(1,"Murray");
stringHashMap.put(2,"Modi");
stringHashMap.put(3,"Rick");
stringHashMap.put(4,"RickDo");
System.out.println(stringHashMap);
}
输出结果为:
{1=Murray, 2=Modi, 3=Rick, 4=RickDo}
访问元素
实 例 color{#FF0000}{实例} 实例
public static void main(String[] args) {
HashMap stringHashMap = new HashMap<>();
stringHashMap.put(1,"Murray");
stringHashMap.put(2,"Modi");
stringHashMap.put(3,"Rick");
stringHashMap.put(4,"RickDo");
//System.out.println(stringHashMap);
System.out.println(stringHashMap.get(1));
}
输出结果为:
Murray删除元素
实 例 color{#FF0000}{实例} 实例
public static void main(String[] args) {
HashMap stringHashMap = new HashMap<>();
stringHashMap.put(1,"Murray");
stringHashMap.put(2,"Modi");
stringHashMap.put(3,"Rick");
stringHashMap.put(4,"RickDo");
//System.out.println(stringHashMap);
//System.out.println(stringHashMap.get(1));
System.out.println("删除之前:" + stringHashMap);
stringHashMap.remove(2);
System.out.println("删除之后:" + stringHashMap); }
}
输出结果为:
删除之前:{1=Murray, 2=Modi, 3=Rick, 4=RickDo}
删除之后:{1=Murray, 3=Rick, 4=RickDo}
计算大小
实 例 color{#FF0000}{实例} 实例
public static void main(String[] args) {
HashMap stringHashMap = new HashMap<>();
stringHashMap.put(1,"Murray");
stringHashMap.put(2,"Modi");
stringHashMap.put(3,"Rick");
stringHashMap.put(4,"RickDo");
//System.out.println(stringHashMap);
//System.out.println(stringHashMap.get(1));
//System.out.println("删除之前:" + stringHashMap);
//stringHashMap.remove(2);
//System.out.println("删除之后:" + stringHashMap);
System.out.println(stringHashMap.size());
}
输出结果为:
4迭代
实 例 color{#FF0000}{实例} 实例
public static void main(String[] args) {
HashMap stringHashMap = new HashMap<>();
stringHashMap.put(1,"Murray");
stringHashMap.put(2,"Modi");
stringHashMap.put(3,"Rick");
stringHashMap.put(4,"RickDo");
//System.out.println(stringHashMap);
//System.out.println(stringHashMap.get(1));
//System.out.println("删除之前:" + stringHashMap);
//stringHashMap.remove(2);
//System.out.println("删除之后:" + stringHashMap);
//System.out.println(stringHashMap.size());
for (Integer str : stringHashMap.keySet() ) {
System.out.println("K: " + str + " " + "value: " + stringHashMap.get(str) );
}
}
运行结果为:
K: 1 value: Murray K: 2 value: Modi K: 3 value: Rick K: 4 value: RickDohashmap常用的一些方法
| 方法 | 描述 |
|---|---|
| [clear()] | 删除 hashMap 中的所有键/值对 |
| [clone()] | 复制一份 hashMap |
| [isEmpty()] | 判断 hashMap 是否为空 |
| [size()] | 计算 hashMap 中键/值对的数量 |
| [put()] | 将键/值对添加到 hashMap 中 |
| [putAll()] | 将所有键/值对添加到 hashMap 中 |
| [putIfAbsent()] | 如果 hashMap 中不存在指定的键,则将指定的键/值对插入到 hashMap 中。 |
| [remove()] | 删除 hashMap 中指定键 key 的映射关系 |
| [containsKey()] | 检查 hashMap 中是否存在指定的 key 对应的映射关系。 |
| [containsValue()] | 检查 hashMap 中是否存在指定的 value 对应的映射关系。 |
| [replace()] | 替换 hashMap 中是指定的 key 对应的 value。 |
| [replaceAll()] | 将 hashMap 中的所有映射关系替换成给定的函数所执行的结果。 |
| [get()] | 获取指定 key 对应对 value |
| [getOrDefault()] | 获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值 |
| [forEach()] | 对 hashMap 中的每个映射执行指定的操作。 |
| [entrySet()] | 返回 hashMap 中所有映射项的集合集合视图。 |
| [keySet] | 返回 hashMap 中所有 key 组成的集合视图。 |
| [values()] | 返回 hashMap 中存在的所有 value 值。 |
| [merge()] | 添加键值对到 hashMap 中 |
| [compute()] | 对 hashMap 中指定 key 的值进行重新计算 |
| [computeIfAbsent()] | 对 hashMap 中指定 key 的值进行重新计算,如果不存在这个 key,则添加到 hasMap 中 |
| [computeIfPresent()] | 对 hashMap 中指定 key 的值进行重新计算,前提是该 key 存在于 hashMap 中。 |



