如何使用java向数组添加元素?

时间:2016-07-09 00:18:44

标签: java arrays

我怎样才能在数组中添加元素? 如果我可以向数组添加元素,我可以轻松地简化我的代码。我的代码如下所示。

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;
}

3 个答案:

答案 0 :(得分:2)

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

它看起来像这样:

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

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

nums3.add(nums1[i]);

答案 1 :(得分:1)

当您知道输入的确定大小时,应使用数组。如果您不知道确定的大小,那么建议根据用途使用集合框架。

答案 2 :(得分:0)

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

否则使用ArrayList