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

Java 數組操作完全指南:聲明、遍歷、排序、拷貝與常見陷阱

     編輯:Java 綜合教學

Java 數組操作完全指南:聲明、遍歷、排序、拷貝與常見陷阱

數組是 Java 中最基礎的容器結構,掌握其核心操作是寫出高效、無 Bug 代碼的前提。本文系統梳理數組聲明、初始化、遍歷、排序、拷貝、多維數組及常見陷阱。

一、數組聲明與初始化

// 靜態初始化
int[] scores = {90, 85, 95, 78};
String[] names = new String[]{"Alice", "Bob", "Charlie"};

// 動態初始化(指定長度,元素為默認值)
int[] nums = new int[10]; // 全 0
Object[] objs = new Object[5]; // 全 null

二、遍歷方式對比

// 1. 傳統 for 循環(可控索引、高性能)
for (int i = 0; i < arr.length; i++) { ... }

// 2. 增強 for 循環(foreach,語法簡潔,僅讀)
for (int num : nums) { System.out.println(num); }

// 3. Java 8 Stream 流式處理(函數式、並行友好)
Arrays.stream(arr).forEach(System.out::println);
IntStream.range(0, arr.length).forEach(i -> System.out.println(arr[i]));

三、常用工具類:Arrays 核心方法

方法說明
sort()原地排序(基本類型雙軸快排,對象 TimSort),支援比較器
binarySearch()二分查找,**前提已排序**
copyOf() / copyOfRange()拷貝指定長度/範圍,返回新數組
fill()填充指定值
equals() / deepEquals()比較內容相等(多維用 deepEquals)
toString() / deepToString()輸出可讀字串(多維用 deepToString)
parallelSort()並行排序(Java 8+,大數組顯著加速)
setAll()用生成器函數賦值(Java 8+)

四、數組拷貝的淺拷貝與深拷貝

int[] src = {1, 2, 3};
int[] dest1 = src; // 引用賦值,指向同一對象
int[] dest2 = src.clone(); // 一維基本類型:深拷貝
int[] dest3 = Arrays.copyOf(src, src.length); // 深拷貝
int[] dest4 = System.arraycopy(src, 0, dest4, 0, src.length); // 最高性能,需預分配目標

多維數組/對象數組:clone()、copyOf() 均為淺拷貝(拷貝引用),需手動遞歸深拷貝或用序列化/JSON 實現。

五、多維數組與不規則數組

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved