java - 向数组添加数据 Java

标签 java arrays for-loop methods

我有一个想法,可以绕过 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;
}

您希望它循环到新列表的末尾,而不是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()));
}

关于java - 向数组添加数据 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47753043/

相关文章:

java - 如何使用 Selenium WebDriver 的 Assert 来检查登录是否成功?

java - 获取字符串接受 string[] 作为参数?

java - 如何使用循环绘制矩形?

Java Android 在关闭 Activity 之前显示消息(按返回)

java - 找不到引用的方法 'com.google.firebase.tasks.Task setValue(java.lang.Object,java.lang.Object)'

java - "A JNI Error has occurred"对于程序的一个实例,而不是另一个

javascript - 解析javascript数组中的数字

arrays - 选择数组中的一系列元素spark sql

java - 等待声音结束后再继续

循环中的 R 条件格式