在两者之间的JAVA中哪个更快并且花费更少的时间(以纳秒为单位)?
get() 要么 elementAt()
我正在使用它们来返回存储在对象中的元素.速度至关重要,因此我想知道哪两个更可行,更快.
public E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return get(len - 1);
}
Run Code Online (Sandbox Code Playgroud)
要么
public E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
Run Code Online (Sandbox Code Playgroud)
首先,您没有告诉我们您正在使用哪种数据结构.所以,我会假设你正在使用Vector或Vector衍生一些.
根据文档,这两种方法是相同的:
http://download.oracle.com/javase/1,5.0/docs/api/java/util/Vector.html
然而,这elementAt(idx)可以追溯到Vector没有遵循List模式(通过扩展AbstractList)的日子- 如果你阅读完整的文档,你会看到Vector被修改以实现List接口.
因此,我希望get(idx)提供最快的速度,并elementAt(idx)简单地打电话给get(idx).无论如何,速度的差异几乎没有 - 如果你想要获得性能提升,你应该去别处寻找.
| 归档时间: |
|
| 查看次数: |
11674 次 |
| 最近记录: |