【发布时间】:2012-10-12 19:42:47
【问题描述】:
需求:
- 存储覆盖等于和哈希码的类的对象
- 将循环并将对象推入数据结构中
- 需要能够调用
contains来检查结构中是否存储了某个对象 - 如果
contains返回true,则从结构中获取该特定对象并在该对象上调用某个getter
我考虑过的选项:
Map - 这适用于所有需求,但我并没有真正的地图(键和值)。我所拥有的只是一堆物体。通过将对象存储为键和整数或值中的其他内容来强制使用映射是否是一种好习惯?
Set 可以,但是它没有 get 之类的 fetch 方法。
- List 也可以,但它没有非基于索引的获取方法。意思是,一旦
contains返回true,我将不得不遍历列表以找到我的特定对象的索引,然后获取它。
我愿意使用不同的库,例如 apache commons 或 guava。
【问题讨论】:
-
有趣的是,你不需要地图,但你需要一个获取方法:-) 你想获取什么?我想的对象。并基于什么标准?不,将对象存储为键(集合?)并将整数存储为值并不是一个好主意。这会浪费内存并引入另一个调试向量。
标签: java data-structures architecture