How to initialize all the elements of an array to any specific value in java

In C/C++ we have memset() function which can fulfill my wish but in Java how can i initialize all the elements to a specific value? Whenever we write int[] array=new int[10]; , this simply initialize an array of size 10 having all elements equal to zero. I just want to change this initialization integer for one of my array. i.e. I want to initialize an array which has all elements equal to -1. Otherwise I have to put a for loop just after initialization, which ranges from index 0 to index size-1 and inside that loop, I am assigning element to -1. Below is the code for more understanding-

    int[] array = new int[10];
    for (int i = 0; i < size; i++) {
        array[i] = -1;
    }

Am i going correct? Is there any other way for the same?


Solution 1:

If it's a primitive type, you can use Arrays.fill():

Arrays.fill(array, -1);

[Incidentally, memset in C or C++ is only of any real use for arrays of char.]

Solution 2:

There's also

int[] array = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1};

Solution 3:

It is also possible with Java 8 streams:

int[] a = IntStream.generate(() -> value).limit(count).toArray();

Probably, not the most efficient way to do the job, however.