[Java] Array 跟 ArrayList 的區別

Array是Java中的基本功能。
而ArrayList就是Collection Framework的一部分。
因此就有著完全不同的使用方式!

創建方式不同
Array
是一個有固定大小的Array。
每次創建一個新的Array時,都需要為它設定一個大小。
而且在創建後,是不能再更改大小。
int arr[] = new int[10]

ArrayList
是一個有浮動大小的Array。
每次創建一個新的Array時,不需要為它設定大小。
因為在創建後,你可以隨意更改它的大小。
另外,它是List interface的實作。
ArrayList arrL = new ArrayList();

新增元素及存取元素的方式不同
Array透過[]的方式新增元素而ArrayList就透過add()。
Array透過[]的方式存取元素而ArrayList就透過get()。

LeetCode


1470Shuffle the Array

Given the array nums consisting of 2n elements in the form [x1,x2,...,xn,y1,y2,...,yn].

Return the array in the form [x1,y1,x2,y2,...,xn,yn].

 

Example 1:

Input: nums = [2,5,1,3,4,7], n = 3
Output: [2,3,5,4,1,7] 
Explanation: Since x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 then the answer is [2,3,5,4,1,7].

Example 2:

Input: nums = [1,2,3,4,4,3,2,1], n = 4
Output: [1,4,2,3,3,2,4,1]

Example 3:

Input: nums = [1,1,2,2], n = 2
Output: [1,2,1,2]

 

Constraints:

  • 1 <= n <= 500
  • nums.length == 2n
  • 1 <= nums[i] <= 10^3
class Solution {
    public int[] shuffle(int[] nums, int n) {
        
        int len =2*n;
        int[] x = new int[len];
        
        ArrayList<Integer> arrL = new ArrayList<Integer>(2);
        
        
        for(int i = 0 ; i<n;i++){
          arrL.add(nums[i]);
          arrL.add(nums[n+i]);
        }
         for(int j = 0 ; j<len;j++){
           x[j] = arrL.get(j);   
        }
        
        return x;
        
    }
}

留言

這個網誌中的熱門文章

[HTML]標籤-下

論P, NP, NP-Complete, NP-Hard問題

[Python]基礎課程

[系統]解除電腦限制頻寬

[HTML]標籤-上

[AlaSQL] 多data查詢+累計

How to Check the MySQL Version

[SQL Sever] 日期時間

推薦使用的9款編程字體

類別型態 vs 基本型態