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.