HashMap
1、HashMap位于util包,使用前要引用,import java.util.HashMap
,HashMap是一个无序的散列表,存储的内容是键值对映射(key-value),具有很快的访问速度,最多允许一条记录的键为 空。HashMap 的 键 (key)与 值(value) 类型可以相同也可以不同,可以键和值都是整型,也可以键是字符串,值是整型,反过来也可以。
2、创建方式:HashMap<Integer, String> Sites = new HashMap<Integer, String>();
3、HashMap 中的元素实际上是对象,所以要使用基本类型对应的包装类,基本类型的包装类一般只是首字母大写即可,特殊的两个:
- 基本类型 int 对应 引用类型 Integer
- 基本类型 char 对应 引用类型 Character
常用方法
添加元素
- put() 把键值对添加到hashmap中
- putAll() 把所有键值对添加到 hashmap 中
- putIfAbsent() 如果hashmap中不存在指定的键,就把指定的键值对插入到hashmap中
- merge() 添加键值对到hashmap中
复制元素
- clone() 复制一个hashmap
判断
- isEmpty() 判断hashmap是否为空
- containsKey() 判断hashmap中是否存在指定的key对应的映射关系
- containsValue() 检查hashmap中是否存在指定的value对应的映射关系
获取
- get() 获取指定键的值
- getOrDefault() 获取指定键对应的值,如果找不到键就返回设置的默认值
- keySet() 返回 hashMap 中所有键组成的集合视图。
- entrySet() 返回hashmap中所有映射项的集合视图
- values() 返回 hashmap 中存在的所有value值
替换
- replace() 替换 hashmap 中是指定的键对应的值
- replaceAll() 将 hashmap 中的所有映射关系替换成给定的函数所执行的结果。
计算
- Size() 计算 hashmap 中键值对的数量
指定操作
- forEach() 对 hashMap 中的每个映射执行指定的操作删除
删除
- remove() 删除hashmap中指定键的映射关系
- clear() 删除hashmap中所有键值对
例:
import java.util.HashMap;
public class Hash {
public static void main(String[] args){
HashMap<Integer,String> hashMap=new HashMap<Integer,String>();
hashMap.put(3,"three");//添加操作
hashMap.put(1,"one");
hashMap.put(2,"two");
System.out.println(hashMap.get(1));//根据指定键获取值
System.out.println("是否为空:"+hashMap.isEmpty());//判断是否为空
hashMap.replace(1,"数字1");//替换操作
System.out.println(hashMap.get(1));
System.out.println("键值对数量为:"+hashMap.size());//获取键值对数量
hashMap.remove(1);
System.out.println("键值对数量为:"+hashMap.size());
hashMap.clear();//清空哈希表
System.out.println("是否为空:"+hashMap.isEmpty());
System.out.println("键值对数量:"+hashMap.size());
}
}
输出结果为:
one
是否为空:false
数字1
键值对数量为:3
键值对数量为:2
是否为空:true
键值对数量:0