怎样用hashmap保存对象

本文详细介绍了如何使用HashMap进行数据存储和检索,包括如何通过键值对的形式将数据存入HashMap,以及如何单独获取键或值,或者同时获取键和值。

haspMap是由Key跟Value组成的
如果要从hashMap里取数据
当你只取Key时,可以这么做
Iterator ite = keySet.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}

只取Value时,这么做
Collection values = hm.values();
ite = values.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}

都取出来可以这么做
Set content = hm.entrySet();
ite = content.…

 

 

HashMap map = new HashMap();
map.put('key',obj);
这样就保存到HashMap里了。
HashMap 是Key和Value组成的 ,以键值对的形式存在的。

### 关于 `HashMap` 数据结构、用法及其实现详解 #### 定义与特性 `HashMap` 是基于哈希表的 `Map` 接口实现,主要用于储键值对。该类允许使用 `null` 作为键和值,并且是非线程安全的。默认情况下,`HashMap` 的初始容量为 16,在每次扩容时,容量会翻倍至原来的两倍,始终维持着数组长度为2的幂这一特点[^3]。 #### 使用方法 在 Java 中使用 `HashMap` 需要先导入相应的包: ```java import java.util.HashMap; ``` 创建并操作 `HashMap` 对象的例子如下所示: ```java // 创建一个新的 HashMap 实例 HashMap<String, Integer> map = new HashMap<>(); // 向 HashMap 添加元素 map.put("one", 1); map.put("two", 2); // 获取指定键对应的值 int valueOne = map.get("one"); // 移除某个键所映射的条目 map.remove("two"); ``` #### 底层数据结构解析 `HashMap` 内部维护了一个名为 `table` 的数组,用于保存实际的数据项。每当有新的键值对被加入时,程序会计算给定键对象的哈希码(`hash`),并通过 `(n - 1) & hash` 来决定新元素应该放置在哪一个桶(bucket);这的 `n` 表示当前数组的实际大小。这种设计可以有效地减少冲突的发生几率,使得各个链表保持相对均衡的状态,从而提升查找性能[^4]。 为了确保上述逻辑能够正常工作,`HashMap` 要求内部使用的数组尺寸必须是2的整数次幂。这样做不仅简化了索引运算过程——即可以通过简单的位运算代替取模操作来获得目标位置——而且有助于更好地分布散列函数产生的不同哈希值,进一步优化访问速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值