How does `Java` `List` method `size` work?
java.util.List
is an interface, not a class. The implementation of the size()
method may be different for different concrete implementations. A reasonable implementation for a size()
method on a java.util.List
implementation would be to initialize an instance member of type int
to zero and increment/decrement it appropriately as items are added to/removed from the List
. The size()
method could simply return the aforementioned instance member. This is of course, simply an example. For complete detail, you could always look at the sources for the built-in List
implementations. All the source code has been available for years.
Size is defined as the number of elements in the list. The implementation does not specify how the size() member function operates (iterate over members, return stored count, etc), as List is an interface and not an implementation.
In general, most concrete List implementations will store their current count locally, making size O(1) and not O(n)