2016-07-09 13 views
1

要素を配列に追加するにはどうすればよいですか? 配列に要素を追加できれば、簡単にコードを単純化できます。私のコードは以下の通りです。javaを使用して配列に要素を追加するには?

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

答えて

2

アレイはJavaで固定長である。あなたのintのコレクションを動的にサイズ調整する必要がある場合は、Listの実装の1つを代わりに使用することを検討する必要があります。その後、.add()メソッドを使って要素を追加することができます。

それはこのようなものになります。

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

と、代わりにnums3の[番号]と番号の変数を追跡すること、ちょうど

nums3.add(nums1[i]); 
0

配列を使用すると、サイズを固定しています。配列に要素を追加する簡単な方法は、サイズが古い配列サイズ+ 1の別の配列を作成することです。最後の要素を追加します。あなたが入力の明確なサイズを知っているとき

そうでない場合はArrayListの

1

配列を使用するには、使用すべきです。明確なサイズがわからない場合は、その使用法に基づいてコレクションフレームワークを使用することをお勧めします。

関連する問題