在Java中使用List或Map调用size()有多贵?或者如果频繁访问,最好将size()的值保存在变量中?
Ste*_*n C 13
答案是它取决于实际的实现类.对于一些Map和Collection类,size()是一个廉价的恒定时间操作.对于其他人来说,可能需要对会员进行统计.
在Java集合的cheatsheet(V2)通常是这样一个很好的信息来源,但主机服务器是目前有点恶心.
"coderfriendly.com"域名已不复存在,但我在scribd.com上找到了一份备忘单.
size()从查看源代码也可以看出成本.(这是一个"实现细节",几乎可以保证不会改变......对于标准集合类.)
跟进
不幸的是,cheatsheet只记录了size队列实现的复杂性.我认为这是因为它适用O(1)于所有其他收藏品; 看@seanizer的回答.
| 归档时间: |
|
| 查看次数: |
2270 次 |
| 最近记录: |