Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的Arrays.fill复杂性_Java_Arrays_Time Complexity - Fatal编程技术网

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是设置的元素总数。

您可以自己选择。