我怎样才能在数组中添加元素? 如果我可以向数组添加元素,我可以轻松地简化我的代码。我的代码如下所示。
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;
}
答案 0 :(得分:2)
数组在Java中具有固定长度。如果您需要动态调整整数集合的大小,则应考虑使用List的其中一个实现。然后,您可以使用.add()方法向其中添加元素。
它看起来像这样:
List<Integer> nums3 = new ArrayList<Integer>();
然后代替nums3 [number]并跟踪数字变量,只需使用
nums3.add(nums1[i]);
答案 1 :(得分:1)
当您知道输入的确定大小时,应使用数组。如果您不知道确定的大小,那么建议根据用途使用集合框架。
答案 2 :(得分:0)
数组具有固定大小。向元素添加元素的简单方法是创建另一个数组,其大小为旧数组大小+ 1.现在添加最后一个元素。
否则使用ArrayList