Java:为什么获取数组的长度为 O(1)?

NoN*_*ame 0 java arrays algorithm time-complexity

它不是必须计算数组中的每个元素吗?因此,不是恒定数量的操作,所以 O(n)?

mel*_*ene 7

不,Java 数组有一个length属性来存储它们的长度(即每个数组都知道自己的长度)。不需要计数。

  • @everton 它不是 API 文档的一部分:它在语言规范 https://docs.oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.7 (2认同)