我有一个想法,可以绕过 Java 中普通数组的空间硬限制。这行得通吗?
public class Array{
private int[] group;
public void addNums(int[] nums) {
int[] list = new int[group.length + nums.length];
for (int a = 0; a < group.length; a++)
list[a] = group[a];
for (int a = group.length; a < nums.length; a++)
list[a] = nums[a - group.length];
group = list;
}
}
首先,我赞扬您尝试创建自己的,ArrayList
因为您说您是 Java 的初学者。
你真的很接近你的第二个 for 循环只有一个小问题:
public void addNums(int[] nums) {
int[] list = new int[group.length + nums.length];
for (int a = 0; a < group.length; a++)
list[a] = group[a];
for (int a = group.length; a < list.length; a++)
list[a] = nums[a -group.length];
group = list;
}
您希望它循环到 new 的末尾,list
而不是nums
因为我们想用它a
来指定元素在数组中的位置。
此外,这可能有点离题,但您的解决方案似乎在您的Array
班级中没有任何地方能够指定group[]
. 所以考虑添加一些 getter 和 setter 进行测试:
public class Array {
private int[] group;
public int[] getGroup() {
return group;
}
public void setGroup(int[] group) {
this.group = group;
}
然后当你测试你的addNums()
方法时,你可以做这样的事情:
public static void main(String[] args) throws IOException {
Array m = new Array();
int[] startArray = {1,2,3,4,5};
m.setGroup(startArray);
int[] endArray = {6,7,8,9,10,11,12};
m.addNums(endArray);
System.out.println(Arrays.toString(m.getGroup()));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句