Oli*_*unk 2 java collections performance
我正在开发一个游戏,并且有几个客户存储在ArrayList中,每个客户都有自己唯一的ID,该ID在对象中保存为变量.
如果我想使用他们的ID从列表中检索客户,哪些更好的做法?
迭代列表中的所有客户,直到找到匹配项.
将列表转换为键的HashMap(ID)和值(客户),然后只使用.get()方法.也许这与选项一完全相同?
HashMap 将更有效(在大多数情况下为O(1),在最坏的情况下为O(n)),迭代列表将是O(n).
当然这取决于你的数据的大小,如果你有很多它然后HashMap是明显的选择,如果你有很少(例如5可能10),可能是一个List更有效的情况 - 常数因素必须在这里考虑,Big-Oh表示法忽略了.