Java中的get()或elementAt()

Zee*_*qui -2 java

在两者之间的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)

deb*_*cey 9

首先,您没有告诉我们您正在使用哪种数据结构.所以,我会假设你正在使用VectorVector衍生一些.

根据文档,这两种方法是相同的:

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).无论如何,速度的差异几乎没有 - 如果你想要获得性能提升,你应该去别处寻找.