简体   繁体   中英

How does `Java` `List` method `size` work?

In Java, there is a List interface and size() method to compute the size of the List .

  • When I call List.size() , how does it count?
  • Is it counted linearly, or the count is determined and just the value is returned back when size() ?

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)

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM