Java集合:TreeMap.size()和TreeSet.size():O(1)还是O(n)?

Jas*_*n S 3 java data-structures

TreeMap并记录TreeSet它们包含的物品数量,或者每次打电话时都必须计算它们size()?javadocs仍然对这个问题保持沉默.

ysh*_*vit 8

看一看:

http://www.docjar.com/html/api/java/util/TreeMap.java.html

http://www.docjar.com/html/api/java/util/TreeSet.java.html

为了将来参考,谷歌搜索是"java源代码树图".(我不是说那是讽刺的 - 源代码不会出现在googlin上并不完全明显).

tl; dr版本是他们跟踪的,所以它是O(1).

  • 值得注意的是,JDK附带了Java SE类的源代码. (2认同)