首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 陣列核心知識總結與最佳實踐

     編輯:Java 相關知識

Java 陣列完整指南:聲明、初始化、遍歷、默認值

陣列聲明與初始化方式

// 方式 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];

常用工具類:Arrays

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]); // 推薦寫法

性能與最佳實踐

  • 優先使用 ArrayList:動態擴容、功能豐富,除非極度追求性能且大小固定
  • 避免頻繁擴容:預估大致大小用 new ArrayList<>(capacity)
  • 基本類型陣列效能優於包裝類集合:無裝箱/拆箱開銷,大數據量場景優先考慮
  • 並發場景:使用 CopyOnWriteArrayList 或並發安全隊列

常見陷阱

  1. Arrays.asList 返回固定長度 List,add/remove 拋 UnsupportedOperationException
  2. 陣列协变性:String[] strs = new String[10]; Object[] objs = strs; objs[0] = new Object(); // 運行時拋 ArrayStoreException
  3. 陣列長度不可變,需擴容請用 Arrays.copyOf 或集合
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved