java中的Arrays.fill复杂性
如何在java中的Arrays.fill复杂性,java,arrays,time-complexity,Java,Arrays,Time Complexity,如何在java中内部实现array.fill(char[]a,char val) 它的复杂性是什么?如果您查看填充(char[]a,char val)的定义,可以在java.util.Arrays类中找到 就是这样 public static void fill(Object[] a, Object val) { for (int i = 0, len = a.length; i < len; i++) //this loop will continues to the l
java
中内部实现array.fill(char[]a,char val)
它的复杂性是什么?如果您查看
填充(char[]a,char val)
的定义,可以在java.util.Arrays
类中找到
就是这样
public static void fill(Object[] a, Object val) {
for (int i = 0, len = a.length; i < len; i++) //this loop will continues to the length of a.
a[i] = val;
}
公共静态空白填充(对象[]a,对象val){
for(int i=0,len=a.length;i
因此,这种方法的复杂性将是
O(n)
。其中n
是传递给参数的对象数组Object[]a
的长度。Java实现使用一个简单的for
循环。但是,重要的是要记住,JVM通常会对内部功能进行重大更改,并在运行时用较低级别的实现替换整个方法和类
通常,根据目标系统的不同,array.fill
可以用更像C/C++的函数来代替,因此,它的运行速度通常比常规的for
循环快得多
在所有情况下(如Vikrant的回答所述),复杂性应被视为O(N),其中N是设置的元素总数。您可以自己选择。