网站首页 > 精选教程 正文
HashMap是一种基于哈希表的Map接口实现。
主要特征是:
1、允许使用null作为键或值。
2、不会排序。
3、查询效率高,查询的时间复杂度为O(1)
4、非线程安全
5、底层实现原理主要依赖于哈希表,底层是一个数组+链表的结构,每个数组元素都是一个链表。通过hash函数将key转换为数组的索引,然后在这个索引位置的链表中进行查找。
以下例子展示了HashMap的基本用法,包括添加元素、获取值、删除元素、遍历集合、检查键是否存在以及检查集合是否为空等操作。
一、创建实例
HashMap<String, Object> hashMap = new HashMap<>();
二、添加元素
hashMap.put("name", "张三");
三、一次性添加多个元素
HashMap<String, Integer> map2 = new HashMap<>();
map2.put("age", 10);
map2.put("sex", "男");
hashMap.putAll(map2);
四、获取值
String name = (String) hashMap.get("name");
输出:张三
五、删除键
hashMap.remove("age");
输出:
六、遍历
for (Map.Entry<String, Object> entry : hashMap.entrySet()) {
System.out.println("key: " + entry.getKey() + ", value: " + entry.getValue());
}
输出:key: sex, value: 男 key: name, value: 张三
七、获取所有值
Set<String> keySet = hashMap.keySet();
for (String key : keySet) {
System.out.println("Key: " + key);
}
输出:key: sex key: name
八、检查H是否包含指定的键
boolean containsKey = hashMap.containsKey("age");
输出:fasle
九、检查HashMap是否为空
boolean isEmpty = hashMap.isEmpty();
输出:false
每天学习一点点,每天进步一点点。
- 上一篇: 常见面试题之java系列
- 下一篇: C# 基础知识系列- 3 集合数组
猜你喜欢
- 2024-12-27 Java集合、多线程、反射和Spring框架总结,源码解析
- 2024-12-27 面试官必问:Java中的JUC工具类详细揭秘
- 2024-12-27 C# 基础知识系列- 3 集合数组
- 2024-12-27 常见面试题之java系列
- 2024-12-27 初步认识Java集合框架
- 2024-12-27 java中常用第三方类库
- 2024-12-27 Java Collections 工具类集合框架中常用算法解析
- 2024-12-27 GUAVA集合类使用总结
- 2024-12-27 Java集合-Properties
- 2024-12-27 Redis 常用数据类型之 zset(有序集合)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)