我想知道lengthJava数组的实现.我知道using arrayName.length使我们得到了数组中元素的数量,但是想知道这是一个方法/函数还是只是Array的数据成员?
我想它必须是一个数据成员,因为我们()在调用它时不使用括号.但是,如果它是一个数据成员,该length指定/计算的值是如何/何时?
假设我有一个数组:
int[] array = new int[10];
Run Code Online (Sandbox Code Playgroud)
什么是运行时间:
int len = array.length;
Run Code Online (Sandbox Code Playgroud)
我认为这将是一个恒定的时间操作,但今天在采访中,采访者告诉我,这将是O(n)因为需要计算元素的数量.
另外,如果我有这样的循环:
for (int i = array.length - 1; i >=0; i--) {
something with array[i];
}
Run Code Online (Sandbox Code Playgroud)
这是否需要额外的n操作才能到达数组的末尾以启动循环?面试官来自C背景,所以也许他们错误地认为Java是如何工作的,但我不想在面试中推动它.