What is the time complexity of a size() call on a

2019-02-01 16:53发布

问题:

As the title asks, I wonder if the size() method in the LinkedList class takes amortized O(1) time or O(n) time.

回答1:

It's O(1). You can google for the source code and you will come to such:

From http://www.docjar.com/html/api/java/util/LinkedList.java.html

All of the Collection classes I have looked at store a the size as a variable and don't iterate through everything to get it.



回答2:

O(1) as you would have found had you looked at the source code...

From LinkedList:

private transient int size = 0;

...

/**
 * Returns the number of elements in this list.
 *
 * @return the number of elements in this list
 */
public int size() {
   return size;
}