如何将数组中的所有元素初始化为java中的任何特定值

C/C++我们有memset()函数,可以实现我的愿望,但在Java中,我怎么能初始化所有的元素到一个特定的值? 每当我们写int[] array=new int[10]; ,这只是初始化一个大小为10的数组,其所有元素都等于零。 我只想改变这个初始化整数为我的数组之一。 即我想要初始化一个所有元素等于-1的数组。 否则,我必须在刚刚初始化之后放置一个for循环,其范围从索引0到索引size-1并且在该循环内部,我将元素赋值为-1。 以下是更多理解的代码 –

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

我正确吗? 有没有其他方式相同?

如果是原始types,可以使用Arrays.fill()

 Arrays.fill(array, -1); 

[ 顺便说一下,C或C ++中的memset只能用于char数组的任何实际使用。 ]

还有

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

你有没有尝试过Arrays.fill函数 ?

java.util.Arrays.fill()

显然你可以使用Arrays.fill(),但是你完成的方式也可以。

如果它很短,你可以这样做:

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

…但是这不仅仅是一些坏事。

更容易的是一个for循环:

  int[] myArray = new int[10]; for (int i = 0; i < array.length; i++) myArray[i] = -1; 

编辑:我也喜欢其他人提到的Arrays.fill()选项。

你可以使用Arrays.fill(array, -1)

Java 8stream也是可能的:

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

但是,可能不是最有效的工作方式。