ArrayList按ID检索对象

Madhur Ahuja:

假设我有一个ArrayList<Account>非常简单的自定义对象。例如:

class Account
{
public String Name;
public Integer Id;
}

我想Account基于Id应用程序许多部分中参数来检索特定对象最好的方法是什么?

我本来打算扩展,ArrayList但我确信必须有更好的方法。

阿米尔·阿富汗尼:

听起来您真正想使用的是一个Map,它允许您基于键检索值。如果您坚持使用ArrayList,则唯一的选择是遍历整个列表并搜索对象。

就像是:

for(Account account : accountsList) { 
   if(account.getId().equals(someId) { 
       //found it!
   }
}

accountsMap.get(someId)

这种操作O(1)在中Map,相对于O(n)List

我当时在考虑扩展ArrayList,但我确信必须有更好的方法。

一般来说,这是糟糕的设计。阅读有效的Java项目16可以更好地理解为什么-或查看本文

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章