Java使用最大值初始化大型数组
如何初始化所有Java使用最大值初始化大型数组,java,arrays,dynamic,initialization,Java,Arrays,Dynamic,Initialization,如何初始化所有Integer.MAXVALUE的1000*1000*1000大小的数组 例如,我想让这个int[][]dp=newint[1000][1000][1000]都有最大值,因为以后我需要比较最小值 我试过了 int [] arr = new int arr[N]; Arrays.fill(arr,Integer.MAXVALUE); 但它不适用于多维数组,有人能帮忙吗?您必须这样做才能填充多维数组: for (int i = 0; i < dp.length; i++) {
Integer.MAXVALUE
的1000*1000*1000
大小的数组
例如,我想让这个int[][]dp=newint[1000][1000][1000]代码>都有最大值,因为以后我需要比较最小值
我试过了
int [] arr = new int arr[N];
Arrays.fill(arr,Integer.MAXVALUE);
但它不适用于多维数组,有人能帮忙吗?您必须这样做才能填充多维数组:
for (int i = 0; i < dp.length; i++) {
for (int j = 0; j < dp[i].length; j++) {
for (int k = 0; k < dp[j].length; k++) {
Arrays.fill(dp[i][j][k], Integer.MAX_VALUE);
}
}
}
for(int i=0;i
但是,除非您至少有3.64 TB的内存,否则无法初始化new int[1000][1000][1000][1000]
。更不用说如果你有那么多内存,那需要多长时间。你需要一些非常专门的东西,比如生成所谓的内存。你需要稍微改变你的逻辑,而不是对<代码>整数进行测试。Max值Value/Cuth>你测试一个位置是否存在(默认值为零),如果它不考虑它>代码>整数。
这假设您只插入一小部分可能的数据,其值为
fill将需要数组和每个维度要填充的值作为参数。说fill(数组,0,0,0)或者在你的例子中说fill(数组,maxValue,maxValue,maxValue)
干杯,您想填充一个有一万亿可能性的数组中的每个值吗?