Vector.size()
如何正常工作,是否返回了Array.length
已知的内容,或者每次都进行计算?
我的观点是......当我需要在循环中使用它时,有另一个变量来存储向量的大小是更好的,例如:
int vectorLength = myVector.size();
for (int i = 0; i < vectorLength; i++) {
//...
}
或者我可以直接使用Vector.size()
?在内存和使用的CPU时间方面哪个更好?
答案 0 :(得分:2)
您可以查看实际代码的实现方式:
308 * @return the number of components in this vector
309 */
310 public synchronized int size() {
311 return elementCount;
312 }
链接位于:http://www.docjar.com/html/api/java/util/Vector.java.html
它基本上只是像getter一样得到int值。
答案 1 :(得分:1)
不,它没有任何区别。 Vector.size()只返回一个int。所以当你调用一个包含大小
的int时,它的操作是相同的O(1)