[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
1470. Shuffle 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;
}
}
留言
張貼留言