如何将数组中的所有元素初始化为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();
但是,可能不是最有效的工作方式。