0

如果给定一组记录(例如,带有 Id、Name 和年龄字段的用户记录)并且您需要将它的集合发送到视图以进行简单遍历。那么在 HashMap 和 HashSet 之间使用哪个集合更可取,为什么?为了提高效率,你会在 User 类中使用什么哈希码生成代码?

4

2 回答 2

1

AHashSet本身就是一个实现,HashMap所以最终它并没有太大的区别。但是,由于您正在与用户打交道,我认为最终您将需要User通过 ID 访问对象。

假设每个用户都有一个唯一的 ID,您可以使用HashMap带有 ID 的作为键并将整个User对象作为值。这将允许您遍历和访问特定的用户数据。

于 2012-09-28T06:50:24.590 回答
1

HashMap 和HahSet 使用不同的数据结构来存储对象。

HashMap中,您将对象存储在键值对中

HashSet中,您仅将存储为对象。


以下是它们之间的一些区别:


  1. HashSet 是 Set 接口的实现。HashMap是 Map 接口的实现。
  2. HashSet 只存储值。HashMap 以键值对的形式存储数据。
  3. HashSet 不允许重复值/对象 HashMap 允许重复值/对象但不允许重复键。
  4. HashSet 比 hashmap 慢。HashMap 比 hashset 快,因为值与唯一键相关联
  5. 在HashSet中,成员对象用于计算两个对象可以相同的hashcode值,因此equal()方法用于检查是否相等,如果返回false则表示两个对象不同。在HashMap中,hashcode值使用key对象计算.
于 2012-09-28T07:10:11.117 回答