【发布时间】:2016-02-01 11:18:27
【问题描述】:
假设我需要存储一组学生对象,并且每个学生都有一个唯一的 ID。一种选择是将它们全部存储在一个列表中,但是在搜索学生时,我必须执行线性搜索并检查他们的 ID。另一种选择是使用映射,例如:映射其中键是映射到实际学生对象的学生 ID。
对于给定的问题,这是一种明智的方法吗?一方面感觉不错,因为我可以通过他们的 id 轻松检索学生,但另一方面,感觉就像我稍微多余地存储了学生对象中已经存在的 id - 所以我排序存储两次,但关键是查找机制。
我的添加是这样的:
public void add(Student s) {
lookup.put(s.getId(), s);
}
【问题讨论】:
-
我就是这么做的。您还可以在学生对象上实现 equals() 和 hashCode 方法
-
数据结构与感觉无关
标签: java dictionary collections