Java 映射数组元素的值 公共类经济模型{ 公共静态void main(字符串[]args){ int[]开始时间=新的int[20]; int[]持续时间=新int[40]; int[]总持续时间=新的int[40]; int[]EndTime=newint[StarTime.length]; int[]relinqtime=新int[20]; int[]ResAllocRAM={101,9,56,89,43,30,8,60,13,41,60,20,32,71,76,7,31,46,30,99}; StarTime[0]=0; 指数分布exp=新指数分布(4.0); 对于(int j=1;j
使用映射,它将元素保存为键、值对,记住键应该是唯一的Java 映射数组元素的值 公共类经济模型{ 公共静态void main(字符串[]args){ int[]开始时间=新的int[20]; int[]持续时间=新int[40]; int[]总持续时间=新的int[40]; int[]EndTime=newint[StarTime.length]; int[]relinqtime=新int[20]; int[]ResAllocRAM={101,9,56,89,43,30,8,60,13,41,60,20,32,71,76,7,31,46,30,99}; StarTime[0]=0; 指数分布exp=新指数分布(4.0); 对于(int j=1;j,java,arrays,eclipse,data-structures,Java,Arrays,Eclipse,Data Structures,使用映射,它将元素保存为键、值对,记住键应该是唯一的 public class EconomicModel { public static void main(String[] args) { int[] StarTime = new int[20]; int[] duration = new int[40]; int[] TotalDuration = new int[40]; int[] EndTime = new
public class EconomicModel {
public static void main(String[] args) {
int[] StarTime = new int[20];
int[] duration = new int[40];
int[] TotalDuration = new int[40];
int[] EndTime = new int[StarTime.length];
int[] relinqtime = new int[20];
int[] ResAllocRAM = {101,9,56,89,43,30,8,60,13,41,60, 20, 32,71,76,7,31,46,30,99 };
StarTime[0] = 0;
ExponentialDistribution exp = new ExponentialDistribution(4.0);
for(int j = 1; j < 20; j++){
StarTime[j] = (int)exp.sample() + 1+StarTime[j-1];
}
for(int k = 0; k < 20;k ++){
duration[k] = 20 + (int)(Math.random() * ((120 - 10) + 1));
}
for(int k = 0; k < 20; k++){
EndTime[k] = StarTime[k] + duration[k];
}
Random r = new Random();
for (int i=0; i<20; i++){
relinqtime[i] = r.nextInt((EndTime[i] - StarTime[i])+ StarTime[i] ) + StarTime[i];
}
for ( int j = 0; j<20; j++)
for(int k = StarTime[j]; k <= relinqtime[j]; k++){
TotalDuration[k]+= ResReqRAM[j];
}
}
}
Map hashMap=new hashMap();
put(TotalDuration[5],ResAllocRAM[1]);//put(key,value)
int value=hashMap.get(TotalDuration[5]);//它将返回ResAllocRAM[1]的值
简单地图尝试按如下方式更改线条
TotalDuration[k]=ResReqRAM[j];
如果您试图增加TotalDuration,则将初始值设置为0,因为当您试图在其中分配时TotalDuration数组为空欢迎使用堆栈溢出!请更好地格式化您的问题代码,使其在不滚动的情况下可读,显示特定和文字错误消息,并更详细地解释如何使用这些值注意:根据Java语言惯例,您应该使用以小写字母开头的名称命名变量,例如,
endTime
,startTime
,而不是endTime
和StarTime
-大写字母ginning是为类型(类、枚举、接口)保留的。有人了解这些要求吗?r.nextInt(EndTime[i])
是r.nextInt((EndTime[i]-StarTime[i])+StarTime[i]的快捷方式
Map hashMap=new hashMap();详细示例:Map hashMap=new hashMap();Integer[]Array={12,38,49,46};整数yourKey=32;hashMap.put(yourKey,array);
Map<Integer, Integer> hashMap = new HashMap<>();
hashMap.put(TotalDuration[5], ResAllocRAM[1]); //put(key,value)
int value = hashMap.get(TotalDuration[5]); //it will return you value of ResAllocRAM[1]