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

Posted

技术标签:

【中文标题】如何将二维数组的所有元素初始化为java中的任何特定值【英文标题】:How to initialize all the elements of a 2D array to any specific value in java 【发布时间】:2018-09-28 13:04:21 【问题描述】:

在 C++ 中有一个函数 ( memset() ) 可以初始化一维数组和任何多维数组的值。但是在java中有一个函数fill可以初始化一维数组但不能初始化多维数组。

【问题讨论】:

您能详细说明一下吗?你想在java中做什么,你是怎么做的,为什么它不起作用? 你试过用两个循环吗? 我还没有使用循环 如果 x 是一个二维整数数组 then.to 用 3 填充 x 中的所有值使用Arrays.stream(x).forEach(a->Arrays.fill(a,03);); 【参考方案1】:

Arrays.fill() 方法可用于填充一维数组,但没有内置方法可以“深度”填充多维数组。

对于二维数组,我会这样做:

int[][] arr2 = new int[5][5];  
for(int[] arr1 : arr2) 
  Arrays.fill(arr1, 1);

【讨论】:

痛苦。太糟糕了,这在 java8/9 时间范围内没有得到改进

以上是关于如何将二维数组的所有元素初始化为java中的任何特定值的主要内容,如果未能解决你的问题,请参考以下文章

c语言有关二维数组变量初始化

C语言 写个给二维数组初始化的函数

将C或C99中的结构数组初始化为所有相同的值[重复]

请教Delphi高手:如何将字符数组初始化

将数组的所有元素初始化为相同的数字

Java中一维,二维数组的静态和动态初始化