Java 对于整数数组,如Integer arr[]=new Integer[],您可以';如果不能更改它们的值,则只能设置它们?
我在Codeforces中遇到了一个问题,必须使用整数arr[]=new Integer[200001]。我想为它们的索引值存储200001个计数器(例如,如果我得到19,那么arr[19]将是数组中出现的19个计数器)。然而,当我去做arr[num]++或arr[num]+=1时,它将不起作用。只有当您将arr[num]设置为某个数字时,它才起作用。有没有办法解决这个问题?它不起作用,因为你没有初始化数组的每个元素,你只有一个带有空引用的整数数组。 你应该首先做:Java 对于整数数组,如Integer arr[]=new Integer[],您可以';如果不能更改它们的值,则只能设置它们?,java,arrays,integer,Java,Arrays,Integer,我在Codeforces中遇到了一个问题,必须使用整数arr[]=new Integer[200001]。我想为它们的索引值存储200001个计数器(例如,如果我得到19,那么arr[19]将是数组中出现的19个计数器)。然而,当我去做arr[num]++或arr[num]+=1时,它将不起作用。只有当您将arr[num]设置为某个数字时,它才起作用。有没有办法解决这个问题?它不起作用,因为你没有初始化数组的每个元素,你只有一个带有空引用的整数数组。 你应该首先做: for(int i = 0;
for(int i = 0; i < arr.length; i++) {
arr[i] = 0;
}
for(int i=0;i
最简单的方法是使用int数组而不是整数数组。使用int arr[]代替主键。当然,您可以更改它们的值。请发布您尝试过的完整代码。如果您想获得
arr[0]==0
,arr[1]==1
,等等,您需要编写for循环,num是什么?您会遇到什么错误或意外行为?您可能会遇到NullPointerException
,因为Integer[]
数组在每个索引上都是用null
初始化的。使用int[]
数组或在创建数组后填充数组,例如使用java.util.Arrays.fill(arr,0)代码>否他想使用这些值作为索引的计数器