在C和C++中,我们有
memset()
函数可以实现我的愿望。但是在Java中,如何将所有元素初始化为特定值呢?每当我们编写int[] array = new int[10]
时,这只是简单地初始化一个大小为10的数组,其所有元素均设置为0,但我只想将所有元素初始化为不为0的值(比如-1
)。否则,我需要在初始化后紧跟着使用一个for
循环,该循环从索引0到索引size−1,并在该循环中将每个元素分配给所需的值,就像这样:int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
array[i] = -1;
}
我这样做对吗?还有其他方法吗?
Arrays.fill()
的源代码,它执行的是相同的操作。public static void fill(int[] a, int val) {
for (int i = 0, len = a.length; i < len; i++)
a[i] = val;
}
- ravimemset
也可以用于整数数组,并且实际上在需要填充0
或-1
的情况下非常有用,例如在 DP 问题中。 - Sнаđошƒаӽ