java – 我应该根据我的需要使用哪种数据结构?

需求:

>存储覆盖equals和hash代码的类的对象
>将对象循环并推入数据结构
>需要能够调用contains来检查某个对象是否存储在结构中
>如果contains返回true,则从结构中获取该特定对象,并在该对象上调用某个getter

我考虑的选项:

>地图 – 这适用于所有需求,但我没有地图(键和值).我所拥有的只是一堆物体.通过将对象存储为键和整数或值中的某些内容来强制使用映射是否是一个好习惯?
> Set会工作,但是,它没有像get这样的获取方法.
> List也可以,但它没有一个非基于索引的获取方法.意思是,一旦包含返回true,我将不得不循环遍历列表以查找我的特定对象的索引,然后获取它.

我愿意使用不同的库,例如apache commons或guava.

最佳答案

List would also work, but it doesn’t have a method to fetch that is non index based.

List有一个indexOf(Object)方法,可以完全按照你的意愿行事.

点赞