// 方式 1:指定長度
int[] ages = new int[5];
// 方式 2:分步聲明
int[] ages;
ages = new int[5];
// 方式 3:靜態初始化(大括號)
int[] ages = {1, 2, 3, 4, 5};
// 方式 4:匿名陣列
int[] ages = new int[]{1, 2, 3, 4, 5};
注意: Java 不支援不同類型同名陣列(如 int[] a 和 String[] a 不能共存)。
int[] ages = new int[5];
for (int i = 0; i < ages.length; i++) {
ages[i] = i; // 賦值
System.out.println("ages[" + i + "] = " + ages[i]);
}
輸出:
ages[0] = 0
ages[1] = 1
ages[2] = 2
ages[3] = 3
ages[4] = 4
public class ArrayDefaults {
public static void main(String[] args) {
System.out.println("int: " + new int[1][0]); // 0
System.out.println("boolean: " + new boolean[1][0]); // false
System.out.println("byte: " + new byte[1][0]); // 0
System.out.println("short: " + new short[1][0]); // 0
System.out.println("char: [" + new char[1][0] + "]"); // 空字符
System.out.println("long: " + new long[1][0]); // 0
System.out.println("float: " + new float[1][0]); // 0.0
System.out.println("double: " + new double[1][0]); // 0.0
}
}
// 規則二維陣列
int[][] matrix = new int[3][4];
// 不規則陣列
int[][] jagged = new int[3][];
jagged[0] = new int[2];
jagged[1] = new int[5];
jagged[2] = new int[3];
import java.util.Arrays;
int[] arr = {3, 1, 4, 1, 5};
Arrays.sort(arr); // 排序:[1, 1, 3, 4, 5]
Arrays.binarySearch(arr, 4); // 二分查找:返回索引 3
Arrays.fill(arr, 0); // 填充:[0, 0, 0, 0, 0]
Arrays.copyOf(arr, 3); // 複製前 3 個:[1, 1, 3]
System.out.println(Arrays.toString(arr)); // 打印:[1, 1, 3, 4, 5]
// 陣列 → List
String[] arr = {"a", "b", "c"};
List<String> list = Arrays.asList(arr); // 固定長度 List
List<String> modifiableList = new ArrayList<>(Arrays.asList(arr)); // 可修改
// List → 陣列
List<String> list = new ArrayList<>();
list.add("x"); list.add("y");
String[] arr = list.toArray(new String[0]); // 推薦寫法
new ArrayList<>(capacity)CopyOnWriteArrayList 或並發安全隊列Arrays.asList 返回固定長度 List,add/remove 拋 UnsupportedOperationExceptionString[] strs = new String[10]; Object[] objs = strs; objs[0] = new Object(); // 運行時拋 ArrayStoreExceptionArrays.copyOf 或集合