【Java】數組知識回顧
阿新 • • 發佈:2018-11-05
arraycopy h+ sta 指定位置 rcp pri pre 元素 argument
package another; import java.util.Arrays; import java.util.List; /** * 數組知識回顧 * @author ChristineBassoon */ public class Array { public static void main(String[] args) { //1. 新建數組的三種方式 int[] arr1 = new int[3]; int[] arr2 = {3,2,4,1}; int[] arr3 = new int[]{5,7,9,0,3,5}; //填充數組 Arrays.fill(arr1, 10);//[10,10,10] //2. 數組元素默認值 int[] arr_int = new int[3];//[0,0,0] String[] arr_str = new String[3];//[null,null,null] //3. 輸出數組內容,如:[0,0,0,0] Arrays.toString(arr1); /*4. 數組自動排序(從小到大) * 一、 數組全排序 Arrays.sort(T[]) * 二、 特定位置排序 Arrays.sort(T[], fromIndex, toIndex); */ Arrays.sort(arr2);//[1,2,3,4] Arrays.sort(arr3,1,3);//只排序下標1-3的元素 [5,0,7,9,3,5] //5. 數組擴容、復制等————基於方法System.arraycopy(src, srcPos, dest, destPos, length); /* * (1) 擴容 * Arrays.copyOf(original, newLength) * 擴充的元素加至原序列末尾 */ int[] arr4 = Arrays.copyOf(arr2, arr2.length+2);//[1,2,3,4,0,0] /* * (2) 縮容 * Arrays.copyOf(original, newLength) * 根據指定長度,只保留原數組的頭部 * */ int[] arr5 = Arrays.copyOf(arr2, 2);// [1,2] /* * (3) 截取(同數組中) * Arrays.copyOfRange(original, from, to) * 範圍為[from,to),超出則拋IllegalArgumentException異常 */ int[] arr6 = Arrays.copyOfRange(arr2, 1, 3);//[2,3] /* * 用外部數組元素替換本數組指定位置 * System.arraycopy(src, srcPos, dest, destPos, length); length表示需要復制的元素個數 */ String[] t1 = {"a","b","c","d"}; String[] t2 = {"Apple","Boy","C","D"}; System.arraycopy(t1, 1, t2, 2, 1); System.out.println(Arrays.toString(t2));//[Apple, Boy, b, D] //數組轉換為List類型 List list = Arrays.asList(arr2); } }
【Java】數組知識回顧