【问题标题】:How to add an element to an array with java? [duplicate]如何使用java将元素添加到数组中? [复制]
【发布时间】:2016-07-09 00:18:43
【问题描述】:

如何将元素添加到数组中? 如果我可以向数组中添加一个元素,我可以轻松地简化我的代码。我的代码如下所示。

public int[] intersection(int[] nums1, int[] nums2) {
    Arrays.sort(nums1);
    Arrays.sort(nums2);
    int[] nums2_1 = nums2;
    int[] nums2_2 = nums2;
    int length = 0;
    int number =0;
    if ((nums1.length != 0) && (nums2.length != 0)) {
        for (int i = 0; i < nums1.length; i++) {
            boolean valid = true;
            if ((i != 0) && (nums1[i-1] == nums1[i])) {
                valid = false;
            }
            if (binarySearch(nums2_1, nums1[i], 0, nums2.length-1) && valid) {
                length++;
            }
        }
    }
    int[] nums3 = new int[length];
    if ((nums1.length != 0) && (nums2.length != 0)) {
        for (int i = 0; i < nums1.length; i++) {
            boolean valid = true;
            if ((i != 0) && (nums1[i-1] == nums1[i])) {
               valid = false;
            }
            if (binarySearch(nums2_2, nums1[i], 0, nums2.length-1) && valid) {
                nums3[number] = nums1[i];
                number++;
            }
        }
    }
    return nums3;
}

【问题讨论】:

    标签: java arrays


    【解决方案1】:

    Java 中的数组具有固定长度。如果您需要动态调整整数集合的大小,则应考虑使用List 的实现之一。然后您可以使用 .add() 方法向其中添加元素。

    看起来像这样:

    List<Integer> nums3 = new ArrayList<Integer>();
    

    然后代替 nums3[number] 并跟踪 number 变量,只需使用

    nums3.add(nums1[i]);
    

    【讨论】:

      【解决方案2】:

      当您知道输入的确定大小时,应该使用数组。如果不知道具体大小,建议根据使用情况使用集合框架。

      【讨论】:

        【解决方案3】:

        数组具有固定大小。向数组添加元素的简单方法是创建另一个数组,其大小为旧数组大小 + 1。现在添加最后一个元素。

        否则使用数组列表

        【讨论】:

          猜你喜欢
          • 2018-04-14
          • 2015-05-14
          • 1970-01-01
          • 2023-04-04
          • 2023-04-02
          • 2014-05-26
          • 1970-01-01
          • 2011-12-02
          • 1970-01-01
          相关资源
          最近更新 更多